SPRING(5) - 객체지향의 4대특성 1
와우..캡!상추다. 라는 표현을 외우자
캡 - 캡슐화 ( Encapsulation ) : 정보은닉 ( information hiding )
상 - 상속( Inheritance ) : 재사용
추 - 추상화( Abstraction ) : 모델링
다 - 다형성( Polymorphism ) : 사용 편의
지금 읽고있는 " 스프링 입문을 위한 자바 객체 지향의 원리와 이해 " 라는 책에서는 상속의 Inheritance 라는 단어보다 더 좋은 이해를 위한 단어가 후술 된다 한다. 또한 클래스와 객체의 관계는 " 붕어빵 틀과 붕어빵 " 이라는 표현도 올바른 이해를 방해하고 있다고 하니 후술하겠다.
붕어빵 틀과 붕어빵
한글로 자바코드를 흉내내 표현해 본 예시를 가지고 오겠다.
클래스 객체명 = new 클래스();
이는 모두가 이해 가능한 표현이다.
붕어빵틀 붕어빵 = new 붕어빵틀();
이는 논리에 맞지 않다.
또 하나의 예시로
금형기계 붕어빵틀 = new 금형기계();
이를 논리적으로 풀어보면 새로운 금형기계를 만들었더니 붕어빵틀이 되었다.
가 된다. 음... 어떤 말인지 이해가 됨과 동시에 반대측도 이해가 된다.
금형기계를 만든건 붕어빵틀로 이름 붙인거라는 생각이 드는데 좀 머릿속이 복잡하다.
좀 더 생각해봐야할 것 같다.
저자가 제시하는 올바른 메타로는 이러하다.
클래스 : 객체 = 펭귄 : 뽀로로 = 사람 : 김연아
이다.
이렇게 생각하면 좀 더 머리속이 개운해지는 것 같다.
다음 글 부터 객체지향의 4대 특성에 대해 하나하나 들여다 보자.