노무현 대통령 배너

Double-J's World

blog logo image

Double-J's World » Programming/JAVA

객체지향(Object Oriented)에 대한 간단한 고찰..

Double-J | 2009. 1. 10. 02:14

갑자기 책꽂이에 있던 책들을 훑어보다가 누구나(?)다 알고있을법한 객체지향에 대한 얘기를 간단한 개그(?)와 접목시켜서 설명한 내용이 있어서 포스팅 해볼까 합니다.

C/C++ 로 배우는 자료구조론(한빛미디어) 의 객체 지향 방법론 부분을 보면 코끼리를 냉장고에 넣는 객체 지향적 방법중 하나로 "조교에게 시킨다" 라고 나옵니다. 참 단순하면서도 잘 맞아떨어지는 말이라 할 수 있지요.

객체(Object)는 현실세계의 어떤 형태든 프로그래밍 방법론 적으로 표현한 대상이라고 볼 수 있습니다. 그리고 실제 프로그래밍에선 그 객체는 고유한 '속성'과 더불어 '동작 혹은 기능(속성을 마음대로 바꿀 수있는..)' 이라는 것을 가지고 있습니다.

현실 세계의 물체를 예를 들어보겠습니다. 아주 간단하게 라디오를 생각해보면(아주 단순한 라디오청취기능만 있다고 가정...) 라디오 자체가 가지고 있는 속성(특징)

  1. 소리
  2. 주파수

정도가 있을 겁니다. 그리고 이러한 속성(특징)을 제어하는 동작 혹은 기능

  1. 소리를 크게하는(volume up) 기능
  2. 소리를 작게하는(volume down)기능
  3. 주파수 내리기
  4. 주파수 올리기

정도로 생각 해볼수 있겠죠.

바로 이것이 코딩시 그대로 적용되는 부분들입니다.
Java를 예를 들어보면 클래스의 field부분엔 바로 변수 형태로 위에서 말한 속성(소리, 주파수)들이 적용되고 method는 위에서 말한 제어하는 기능 들을 구현해주게 됩니다. 이 두가지 가 합쳐서 하나의 클래스를 이루는 것입니다.

더불어 이러한 클래스를 메모리상에서 실체화 시켜서 동작하게끔 해주면 마치 객체 자체가 알아서 모든 것을 다 해주는 것 처럼 할 수 있죠.

이처럼 문제해결을 할때 객체위주로 묶어가며 해답을 찾는 방법론이 바로 객체 지향 (Object Oritented)라고 말할 수 있습니다.




(go to top)