그냥 아침에 출근할 때 이런 생각이 문득 들었다.
그러니까 이건 그냥 잡상 기록용-_-;;
OO 세계의 기본 아이디어란 어떤 것인가?
그것은 객체끼리 이야기하고 놀게 만든다는 것이다.
객체를 정의하는 것은 그렇다치고, 이야기는 어떻게 한단 말인가? Smalltalk가 만들어진 이후로 이야기는 "method 호출"이라는 전형적인 형태를 띄게 되었다. "어떤 객체에게 블라블라 이야기한다" 라는 메타포를 어떤 객체 인스턴스의 메소드를 호출하는 행위로 바꾼 것이다. 거기에 아이디어를 좀 더해서 오버로딩 같은 것도 되도록 만들었다. 블라블라 이야기 하면 매개변수와 객체의 타입에 따라 다른 짓을 해야해!! 라는 것이 가능하도록.
nML에서는 (배움이 짧아 ML 계열에서는 다 되는건지 nML에서 추가된건지 잘 모르지만-_-) 패턴 매칭을 만들어냈다. 결국 객체끼리 전달하는 것은 "message"이다. 그렇다면 이 message에는 패턴이 있을테고, 패턴 매칭을 통해서 각각 다른 짓을 할 수 있도록 만들면?
모든 것은 결국 근원으로 올라가면 통하게 되어있다.
Functional이냐 OO냐 구분하는 것은 무의미하지.
올라갈 수 밖에 없는 이유.
----
아 쓰고 보니 말이 꼬여서 엉망이다!!
하여튼 그냥 아이디어가 대충 그렇다고 --...
아씽-_- 프린트 한뭉치 뽑아놓고 읽지도 못했네;;
그러니까 이건 그냥 잡상 기록용-_-;;
OO 세계의 기본 아이디어란 어떤 것인가?
그것은 객체끼리 이야기하고 놀게 만든다는 것이다.
객체를 정의하는 것은 그렇다치고, 이야기는 어떻게 한단 말인가? Smalltalk가 만들어진 이후로 이야기는 "method 호출"이라는 전형적인 형태를 띄게 되었다. "어떤 객체에게 블라블라 이야기한다" 라는 메타포를 어떤 객체 인스턴스의 메소드를 호출하는 행위로 바꾼 것이다. 거기에 아이디어를 좀 더해서 오버로딩 같은 것도 되도록 만들었다. 블라블라 이야기 하면 매개변수와 객체의 타입에 따라 다른 짓을 해야해!! 라는 것이 가능하도록.
nML에서는 (배움이 짧아 ML 계열에서는 다 되는건지 nML에서 추가된건지 잘 모르지만-_-) 패턴 매칭을 만들어냈다. 결국 객체끼리 전달하는 것은 "message"이다. 그렇다면 이 message에는 패턴이 있을테고, 패턴 매칭을 통해서 각각 다른 짓을 할 수 있도록 만들면?
모든 것은 결국 근원으로 올라가면 통하게 되어있다.
Functional이냐 OO냐 구분하는 것은 무의미하지.
올라갈 수 밖에 없는 이유.
----
아 쓰고 보니 말이 꼬여서 엉망이다!!
하여튼 그냥 아이디어가 대충 그렇다고 --...
아씽-_- 프린트 한뭉치 뽑아놓고 읽지도 못했네;;




덧글