반응형

PHP 접근 제어자 private

private는 같은 객체에서만 접근 가능하도록 설정하는 접근 제어자이다.

<?php


class MyfileObject {
	
    // private로 객체 밖에서 접근하지 못하도록 설정한다.
	private $filename;
    
    function __construct($file) {
    
    	// file_exists -> 파일의 존재 유무를 boolean형으로 리턴하는 함수
    	if (!file_exists($this->filename)) {
        	die($this->filename . '존재하지 않는 파일입니다.');
        }
    }
	
    function isFile() {
    	return is_file($this->filename);
    }
}

// 위에서 정의한 클래스 객체를 생성
$file = new MyFileObject('data.txt');

// 위에서 생성된 객체 내의 filename이라는 변수에 접근
$file->filename = 'abcd.txt';

?>

위 코드의 클래스에서 정의된 $filename 은 접근 제어자가 private로 설정되어 클래스 외부에서는 접근을 못하도록 한다.

클래스 밖에서 객체를 생성하고 생성자를 통해 $filename 을 초기화하는 것은 가능하지만 마지막 줄에 적힌 것처럼 filename 을 클래스 외부에서 접근하려고 하면 오류가 발생한다.

반응형

+ Recent posts