트레이트 – 13.메소드 가시성 변경

메소드 가시성(visibility) 변경 트레이트는 재사용 유닛을 의미하므로 지정자는 조합된 클래스의 컨텍스트에서 쉽게 변경할 수 있어야 합니다. 이에 따라, 트레이트 메소드에 별칭을 부여할 때 메소드의 가시성 지정자(visibility modifier; 접근제한자)도 변경할 수…

Continue Reading트레이트 – 13.메소드 가시성 변경

가시성 – 7.객체 상속에서의 가시성 변경

객체 상속에서의 가시성 변경(changing visibility in object inheritance) 메소드, 프로퍼티 및 상수의 가시성을 완화할 수 있습니다. 예를 들어, protected 메소드를 public으로 완화하여 표시할 수 있지만, public 프로퍼티를 private로 제한하여 표시할…

Continue Reading가시성 – 7.객체 상속에서의 가시성 변경

가시성 – 6.다른 객체로부터의 가시성

다른 객체로부터의 가시성(visibility from other objects) 동일한 유형의 객체는 동일한 인스턴스가 아니더라도 private 및 protected된 멤버에 상호간에 접근할 수 있습니다. 이는 해당 객체 상호간에 객체 내부의 구현된 특정 세부 사항에…

Continue Reading가시성 – 6.다른 객체로부터의 가시성

가시성 – 5.상수 가시성

상수 가시성(constant visibility) PHP 7.1.0부터 클래스 상수는 public, private 또는 protected로 정의될 수 있습니다. 명시적으로 가시성을 지정하지 않고 선언된 상수는 public으로 정의됩니다. private 또는 protected의 가시성(visibility)을 선언하게 되면 정의된 클래스…

Continue Reading가시성 – 5.상수 가시성

PHP5 객체모델 – 05.Public 멤버

public 멤버 public 멤버는 프로그램의 어느 곳에서나 접근할 수 있습니다. 접근하는 곳이 전역영역일 수도 있고 다른 클래스의 멤버가 될 수도 있을 것입니다. PHP4에서는 PPP 접근제한자를 허용하지 않았으며 변수는 var로, 메소드는…

Continue ReadingPHP5 객체모델 – 05.Public 멤버

PHP5 객체모델 – 04.Protected 멤버

protected 멤버 protected 멤버는 해당 클래스 멤버뿐만 아니라 클래스를 상속받은 하위클래스에서도 상위클래스의 protected 멤버에 접근할 수 있습니다. protected로 선언된 멤버의 경우에 C++이냐 자바냐에 따라 그 의미가 약간씩 다르기도 하고 추가되는…

Continue ReadingPHP5 객체모델 – 04.Protected 멤버

PHP5 객체모델 – 03.Private 멤버

private 멤버 private 멤버는 해당 클래스내에서만 접근할 수 있습니다. 전역영역 및 다른 클래스는 물론이고 해당 클래스를 상속받은 하위클래스에서 조차 접근할 수 없는 가장 제한적인 방법입니다. private 변수 18번행을 실행하면 아래와…

Continue ReadingPHP5 객체모델 – 03.Private 멤버