트레이트 – 09.트레이트 로컬 스코프

트레이트의 로컬 스코프에 대한 개념은 RFC 문서 nonbreakable traits에 잘 정리되어 있습니다. 그러나 RFC 문서에서는 트레이트 조합을 위한 use 문을 사용하지 않았고, 대신에 include 문으로 설명하고 있으며, 트레이트 로컬 스코프에…

Continue Reading 트레이트 – 09.트레이트 로컬 스코프

트레이트 – 08.클래스 스코프

트레이트는 상속이 아닌 복사·붙여넣기 메커니즘에 따라 클래스에 조합(insert)되기 때문에 아래 예제에서 트레이트 SayWorld와 이를 조합 트레이트 MySayWorld는 동일한 클래스 스코프(class scope)를 가지게 됩니다. 소스 코드 상의 MyHelloWorld 클래스 스코프 컴파일할…

Continue Reading 트레이트 – 08.클래스 스코프

가시성 – 1.정보 은닉

정보 은닉(information hiding; data hiding) 관련된 구성요소(상수, 프로퍼티, 메소드)들을 캡슐화(encapsulation)시켜 하나의 객체로 정의하였을 때, 정보 은닉은 객체가 가지고 있는 데이터(상수, 프로퍼티, 메소드)를 외부에서 임의로 접근하지 못하도록 숨겨놓는 기능입니다. 캡슐 내부의…

Continue Reading 가시성 – 1.정보 은닉

PHP5 객체모델 – 06.범위지정연산자(::)

앞 문서들에서 접근제한자를 이용하여 가시범위(visibility) 지정하는 방법에 대하여 알아보았습니다. 이번 문서에서는 범위 지정 연산자(scope resolution operator;범위연산자;범위지정자)를 이용하여 유효범위(scope)를 지정하는 방법에 대하여 살펴보겠습니다. 유효범위(scope) 유효범위라는 것은 하나의 멤버를 기준으로 그 멤버에…

Continue Reading PHP5 객체모델 – 06.범위지정연산자(::)

PHP5 객체모델 – 01.가시범위

유효범위(scope)와 가시범위(visibility) "www.php.net >> online document > Classes and Objects(PHP5)"를 보면 "Visibility"라는 항목에 PPP 접근제한자(Private/Protected/Public access modifier)를 설명하고 있습니다. 그래서 우선 "visibility"라는 용어부터 이해하고 넘어가도록 하겠습니다. 거의 모든 국내서적에서 "visibility"를…

Continue Reading PHP5 객체모델 – 01.가시범위

클래스를 사용해야 하나 – 4.스코프(scope)

모듈화 프로그래밍에서 우리는 함수를 이용하여 모듈화를 할 수 있다는 것을 알았습니다. 그런데 함수를 이용한 모듈화에는 한계가 있습니다. 하나의 함수 내에서 사용할 변수는 얼마든지 정의하여 사용할 수 있습니다. 즉 지역변수지요. 그런데…

Continue Reading 클래스를 사용해야 하나 – 4.스코프(scope)