Zend 엔진 2.0 설계초안 – 10.nested 클래스

클래스 안의 클래스(Nested class)

클래스 안의 클래스는 클래스를 포함한 클래스를 의미하며 포함하고 있는 외부클래스와 포함되어진 내부클래스로 나누어 집니다.

내부클래스는 다른 클래스에 들어 있는 클래스입니다. 내부클래스를 정의하는 것은 클래스 이름을 숨기고 클래스에 필요한 자원의 지역적 할당을 가능하게 해 줍니다. 클래스를 별도로 작성하기에는 그 기능이 제한적이거나 외부 클래스에 종속적일 때 사용할 수 있으며 그래서 같은 일을 하는 클래스들끼리 기능적으로 묶는 역할을 하는데 이용할 수 있습니다.

 아래의 예를 보면 클래스 Database 내부에 데이터베이스 접속을 담당하는 내부클래스가 각 데이터베이스별로 작성되어 있습니다.

때에 따라서는 내부클래스를 외부클래스 안쪽에 정의하지 않고 별도로 빼내어 아래와 같이 범위연산자 ‘::’를 이용하여 작성할 수 있습니다. 이러한 방법으로 작성하게 되면 소스 코드가 좀더 깔끔하게 되어 가독성이 좋아질 것입니다.

답글 남기기