메서드를 사용하여 객체 갖고 놀기 (Acting on Objects Using Methods)
일단 생성된 객체에 대해서는 다양한 방법을 사용하여 여러가지 조작들을 적용할 수 있다(표현이 좀 이상하긴 하다). 이 때 사용되는 다양한 방법들을 Object Graphics 세계에서는 Method라고 표현한다. 이 용어를 우리말로 어떻게 표현하는 것이 가장 적당한 것인지가 상당히 애매해서, 어떤 경우에는 영문 발음 그대로 ‘메서드’라고 하는 경우도 있고 또는 ‘명령’이나 ‘방법’이라고 표현하는 경우도 있다. 그런데 ‘명령’이라는 용어의 경우는 꼭 객체지향 프로그래밍이 아닌 분야에서도 그냥 단순히 명령문(command)과 같은 의미로 사용되는 경우가 많다. ‘방법’이라는 용어도 너무 일반적인 명사라서 혼동의 여지가 매우 크다. 따라서 이제부터는 다소 어색하긴 하지만 영문 발음을 그대로 따서 그냥 ‘메서드’라는 용어로 사용하도록 하겠다. 이 편이 차라리 덜 헷갈릴 것 같다.
이러한 메서드들의 종류는 각 객체 클래스별로 서로 다르다. 예를 들어, 플롯 객체에 대하여 적용 가능한 메서드들의 종류와 모델 객체에 대하여 적용 가능한 메서드들의 종류는 서로 다르다. IDL에서 도움말을 열어서 각 클래스별 설명내용을 보면, 해당 클래스에 대하여 어떤 메서드들이 존재하는지 알 수 있다.
IDLgrPlot 클래스에 대한 메서드들의 목록
IDLgrModel 클래스에 대한 메서드들의 목록
그런데, 어떤 객체에 대해서나 공통적으로 존재하는 대표적인 메서드들이 네가지가 있다. 위의 두 메서드 목록에서 공통으로 포함되어 있는 것들을 찾아보면 되는데, 바로 Init, Cleanup, GetProperty, SetProperty가 이에 해당된다. 여기서 Init은 객체를 생성하는 행위를 의미하며 일종의 개념적 정의일 뿐, 그 단어 자체가 그대로 메서드로서 사용되지는 않는다. 앞서 예로 들었던 축 객체를 생성하는 문구의 경우, OBJ_NEW 함수를 사용하여 객체를 생성하는 그 행위 자체가 Init이라는 메서드가 된다는 정도로만 이해를 하자. Cleanup의 경우는 객체를 제거하는 행위를 의미하며, 같은 이름의 메서드로도 또는 OBJ_DESTROY라는 프로시저를 통하여 이루어진다.
그리고 SetProperty, GetProperty의 경우는 그 이름 그대로 사용되는 메서드인데, 상당히 자주 사용되는 개념이다. 아마 다른 프로그래머들이 만든 Object Graphics 기반의 프로그램 코드를 들여다보면, 이 두 메서드가 매우 빈번하게 등장하는 것을 볼 수 있을 것이다. 이에 관한 좀 더 자세한 내용은 분량이 좀 있으므로 다음 회에 소개하도록 하겠다. 조금만 기다리시라.
'IDL > Object Graphics' 카테고리의 다른 글
Object Graphics in IDL [07] (0) | 2010.08.28 |
---|---|
Object Graphics in IDL [06] (0) | 2010.08.25 |
Object Graphics in IDL [04] (0) | 2010.08.14 |
Object Graphics in IDL [03] (0) | 2010.08.10 |
Object Graphics in IDL [02] (0) | 2010.08.04 |