반응형
Web Development · PHP private property
PHP private 멤버변수 —
외부에서 직접 읽기·쓰기 모두 불가
$test->str2 시도 시 Fatal error
시작 오늘 분석할 코드
<?php class Test{ public $str1 = '공개'; private $str2 = '비밀'; } $test = new Test(); print $test->str1; // "공개" 정상 print $test->str2; // 오류! ?>
※
$test->str2를 외부에서 직접 접근하려 하면 Fatal error: Cannot access private property.
반응형
1 private의 의미
private 멤버변수는 "이 클래스 외부의 누구도 만질 수 없다"는 보호막이다.
class Account { private $balance = 0; // 잔액은 외부에서 직접 못 만짐 public function deposit($n) { $this->balance += $n; } public function getBalance() { return $this->balance; } } $a = new Account(); $a->balance = 1000000; // 오류! 직접 변경 차단 $a->deposit(100); // OK — 메서드를 통해서만
2 다음 글 — 메서드로 우회 접근
private 멤버에 외부에서 접근하고 싶으면 public 메서드를 통해야 한다 (private3.php 참고). 이 패턴이 바로 getter/setter.
핵심 한 줄 요약
private 멤버외부 직접 접근 불가 (읽기·쓰기 모두)
시도 시Fatal error
우회public 메서드 (getter/setter)
캡슐화데이터 무결성 보장
실무잔액·비밀번호 등 민감 데이터
vs publicpublic은 직접 변경 가능 → 위험
철학"기본은 private, 필요한 것만 public"
반응형
'php' 카테고리의 다른 글
| PHP Member 클래스 — getter/setter로 회원 정보 관리 완전 정리 (0) | 2026.06.18 |
|---|---|
| PHP getter — private 멤버를 메서드로 우회 접근 완전 정리 (0) | 2026.06.18 |
| PHP 접근제어자 — public/private 메서드 완전 정리 (0) | 2026.06.18 |
| PHP class view — 객체 생성 후 메서드 호출 완전 정리 (0) | 2026.06.18 |
| PHP new — 클래스로부터 객체 생성 완전 정리 (0) | 2026.06.18 |
왕진 블로그

댓글