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

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

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

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

트레이트는 상속이 아닌 복사·붙여넣기 메커니즘에 따라 클래스에 조합(insert)되기 때문에 아래 예제에서 트레이트 SayWorld와 이를 조합 트레이트 MySayWorld는 동일한 클래스 스코프(class scope)를 가지게 됩니다. [crayon-609836a1bd65e026807241/] 소스 코드 상의 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)