본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP private 멤버변수 — 외부 직접 접근 차단 완전 정리

by 왕진 2026. 6. 18.
반응형

 

 

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"
반응형

댓글