객체지향 :: 2004/05/26 12:41프로그래머라면 한번 이상씩은 머릿속에 정리하고 넘어가야할 객체지향. Object oriented.
객체지향이라는 번역에 문제가 있다는 의견도 있고, 정말 객체지향적인 프로젝트는 찾기 힘들다는 의견도 있고, 혹자는 다 이해했다고도 하지만, 정작 그 깊이는 잘 모를듯한 이상야릇한 개념이 아닐 수 없다. 간단하게나마, 나의 이해수준에서의 객체지향을 얘기하자면, 그럴듯하게 현실세계를 모델링하는것이다. 가능한한 현실세계와 유사하게 해야만, 변경,유지보수등 역시 쉬워지는 것이다. 여기에 물론 중요한점 한가지가 있다. 모델링은 드러낼것은 드러내지만, 그럴필요가 없는것은 드러내지 않는다는것. 학습이 일어나는 교실을 모델링한다할때, 교실내부유먼지의 무게등등은 굳이 드러낼 필요가 없는것이다. 더 나아가, 나는 객체지향이라는 소프트웨어 개발방법 아이디어가 현실세계를 바라보는 또 다른 관점을 제공한다고 생각한다. (이 생각은 김창준씨와의 대화에서 느낀바가 크다.) EightQueenProblem을 푼다고 할때, 절차적 프로그래밍에서는 전지전능한 관찰자(神)가 모든 규칙을 관할하고, 그가 queen들을 재 배열한다. 하지만, OOP에서는 8명의 queen, 즉 각 객체가 생명을 부여받고, 객체들이 직접 상호간에 interaction하면서 문제가 풀린다. 이 예는 우연찮게도, 인류사에 있어서의 인간의 사고방식과도 유사하다. 그 옛날 절대자에 의한 수동적 사고방식에서, 각 개인의 중요성을 인식하는 능동적 사고방식으로의 변화. 변화하는 관점은 특히도, 요즘같이 네트워크가 중요시되는 사회에 더욱 빛을 발한다. P2P, Grid등의 네트워크 프로그래밍에서 각각의 객체(컴퓨터)들은 서로 상호작용하고, 인간의 몸을 구성하는 각각의 객체(유전자, 단백질)들 역시 서로 상호작용함으로써 거대한 네트워크가 움직인다. 여기에 전지전능한 神은 놓여질 자리가 없다. Trackback Address :: http://yong27.biohackers.net/trackback/54
|
||