함수에 의한 모듈화에서는 모듈화 단위가 함수 하나만 가능합니다. 앞에서 살펴보았듯이 2개 이상의 함수를 하나의 모듈로 만들려면 스코프(scope) 및 이름공간(namespace) 문제로 함수로는 불가능하며 이 때는 반드시 클래스를 이용하여야 합니다.
이상과 같이 살펴보았듯이 클래스가 필요할 때가 있고 함수가 필요할 때가 있습니다. 모든 경우에 다 클래스를 사용하는 것은 비효율적일 수 있습니다. 경우에 따라 적절히 선택하는 지혜가 필요합니다.
- 함수도 필요없을 만큼 간단한 소스를 작성한다면 함수에 의한 모듈화도 필요없고 구조화 프로그래밍만 하면 됩니다.
- 모듈화가 필요하기는 한데 작성된 함수들이 단순히 단타성 함수로만 사용된다면 함수를 이용하여 모듈화하세요.
- 모듈화 단위가 여러 개의 함수로 구성된 라이브러리라면 특별한 경우가 아니라면 클래스를 이용하여 모듈화하세요.
여러분에게 PHP에서 클래스를 이용하여 객체지향 프로그래밍을 하라고 권하지는 않겠습니다. 여러분의 판단에 맡기지요. 그러나 클래스를 이용한 모듈화 프로그래밍에는 망설이지 마십시요. 여러분이 생각하는 것처럼 클래스를 이용하였다고 해서 객체지향 프로그래밍이 되는 것은 아닙니다. 그러나 클래스는 모듈화를 위한 훌륭한 도구입니다. 모듈화 도구로써 함수가 삽이라면 클래스는 포크레인입니다.
PHP에서 함수라는 도구를 우리에게 제공하므로서 우리가 함수를 유효적절하게 이용할 수 있었듯이 클래스라는 도구 또한 우리는 최대한 이용하여야 할 것입니다. 클래스는 타도 대상이 아니라 프로그래밍을 하는 우리를 도와주는 친구입니다.
'phpclass > 클래스활용' 카테고리의 다른 글
{용어정리}클래스 상속 (0) | 2004.07.12 |
---|---|
{용어정리}함수, 변수 및 상수 (0) | 2004.07.12 |
{클래스를 사용해야 하나}5.이름공간(namespace) (0) | 2002.09.13 |
{클래스를 사용해야 하나}4.스코프(scope) (0) | 2002.09.13 |
{클래스를 사용해야 하나}3.블랙박스 (0) | 2002.09.13 |