CACM 2005.2에서

OO 언어를 배울 때, 잘 못 배우고 있는 것이 있다.


즉, 자바 언어를 들어 보자.
대부분의 자바 언어 입문에서는 다음과 같은 코드로 되어 있다.


class HelloWorld {
   public static void main(String[] args) {
       System.out.println("Hello, World");
   }
}


위의 코드는 아래와 같은 코드가 바뀌는 것이 참 좋다.

class HelloWorld {
   public static void printHello() {
        System.outprintln("Hello World");
   }
}

class UseHelloWorld {
   public static void main(String[] args) {
      HelloWorld hw = new HelloWorld();
      hw.printHello();
   }
}

Objet-orient라는 개념이 어떤 뜻인지 잘 알려줘야할 입문서의 맨 앞에서는 그냥 출력에 대한 것만을 설명하고 있기 까닭에 OO에 대한 개념에 대한 설명을 잘 알 수가 없고, 다른 스트럭처 언어와 똑같은 형태라고 짐작하게 되는 안좋은 관습(?)이 있는 것 같다.

처음부터 객체 생성과 객체의 메소드를 호출하는 것을 이용하는 예제는 OO에 대한 마인드를 정립시켜 주며, 그 코드 하나로 계속적인 응용을 통해서 OO를 익히는 것이 중요하다.
너무 API, AWT의 위주의 입문서때문에 OO언어가 얼마나 많이 그 OO언의 철학적 의미를 상실되었는지는 정말 생각하고 싶지도 않다. 정말 후배들에게 알려줄 최고의 입문서가 나왔으면 하는 바램이다.. .

아니면, 내가 쓸까??
Posted by '김용환'
,