ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [객체지향의 사실과 오해] 02장: 이상한 나라의 객체 <상>
    객체지향 2020. 4. 28. 09:59

    오늘은 객체 지향에 대해서 한걸음 더 나아간 느낌이었다. 어제 읽은 건 객체지향이란 객체라는 하나의 단위를 만들어 그 단위에 역할과 책임 을 부여하여 객체들간의 상호관계를 맺어 새로운 관점의 세계를 만든다는 내용이었다.

     

    오늘은 이상한 나라의 엘리스를 보며, 객체 세계를 표현한다. 동화 속의 엘리스가 작은 문을 통과하기 위해 몸을 줄였다 늘렸다 하는 내용을 보며 객체라는 것을 표현하려 했다. 느낀 점은 객체라는건 실세계를 모방하고 있지만 전혀 다르다는 것이다. 전혀 라는 표현을 썼지만 전혀 다르진 않다. 뭔 소리인가 싶지만, 정말 비슷하지만, 차이점만 보면 정말 다르다.

     

    객체라는 단위는 사물, 또는 어떠한 논리적 개념 덩어리 정도로 볼 수 있다. 하지만 실세계의 사물과 개념이 전부 객체가 될 순 없다. 객체는 역할과 상태가 있어야 한다. 그리고 다른 객체들간의 메세지를 주고 받으며 자기 주도적으로 행동을 결정할 수 있어야 한다. 객체들 간의 메세지는 메세지일 뿐 구체적인 행동은 객체 자신이 결정한다.

     

    또한 인간이 객체의 행동을 정의해준다면, 그 구체적인 행동은 과거의 상태 값을 필요로 한다. 예를 들어 커피라는 객체의 커피가격이라는 값을 500원 올린다고 생각해보자. 필요한 것은 기존의 커피값이 얼마인가이다. 과거 변동을 기록을 보며 현재 상태값을 유추할 수 있지만, 훨씬 더 간편한 방법을 찾기 위해 객체는 상태값 저장이라는 방법을 쓰고 있다.

     

    객체지향 설계 중 어느 것이 먼저 생겼는지 모르지만, 내가 생각하는 객체에서는 가장 중요한 건 상태와 행동이다. 그리고 이것을 역할이라고 부른다고 보면 좋을 것 같다. 그리고 상태를 저장하는 구성인원들을 우리는 프로퍼티라고 부른다. 프로퍼티는 값을 저장하는 것이 있을 수 있고 또다른 객체일 수도 있다. 우리는 또다른 객체에게 변경 메세지를 보내면 그 객체는 메세지를 받아 자신이 정의한 행동을 취한다.

     

    기존에 객체지향에 대해서 아예 모르던 것은 아니지만 정말 몰랐다는 것을 느꼈다. 

    객체간의 상태와 행동의 정의, 메세지만 주고 받고 그 안은 캡슐화 되어 있어 자신 말고는 모른다.

     

    2장 내용이 길어 반 밖에 읽지 못했다.

    다음은 하편에서 다루겠다.

    반응형
Designed by Tistory.