본문 바로가기
[Developer]/Java

디자인패턴 책을 읽다가..(객체지향 원칙 동봉)

by 해피빈이 2010. 11. 3.

그 유명한(?) Headfirst 시리즈의 디자인패턴 책을 예전에 주~욱 읽다가
한동안 쉬고 최근들어 다시 읽기 시작했다.

그리고 각 챕터마다 맨 뒤에 요점정리식으로 나오는 부분이 있는데,
아주 효율적으로 암기가 가능하도록(반복학습)
객체지향 원칙에 대해 summary해 놓은 내용이 있다.

객체지향 원칙

- 바뀌는 부분은 캡슐화한다.

- 상속보다는 구성을 활용한다.

- 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다.

- 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.

- 클래스는 확장에 대해서는 열려 있지만 변경에 대해서는 닫혀 있어야 한다.(OCP)

- 추상화된 것에 의존하라. 구상 클래스에 의존하지 않도록 한다.

- 친한 친구들하고만 이야기한다.

- 먼저 연락하지 마세요. 저희가 연락드리겠습니다.

- 어떤 클래스가 바뀌게 되는 이유는 한 가지 뿐이어야만 한다.

by Headfirst Design Pattern

(구성 : interface, 추상 : abstract)

위의 내용을 바탕으로 디자인 패턴이 하나하나씩 구성되어 간다는 기본 원리인데,

이걸 보며 문득 생각난 것이, 이런건 그냥 무작정 외운다고 되는 일은 아니라는 것이다.
한 챕터씩 공부를 하다보니 어느덧 챕터 11까지 와 있고(그래도 아직 두개가 남았지만;;ㅋ)
그 사이에 예제를 실습해보고, 이론을 하나하나씩 보다보니 위의 내용들은 당연한 것처럼 어느새 박혀있게 되는 것 같다.
경험적인 학습이 굉장히 중요하다는 것을 순간 깨닫게 되었다.

내가 배우고 싶은게 있다면, 자주 보고 듣고 해보자.
반대로 내가 배우고 싶지 않은게 있다면, 자주 보지말고, 자주 듣지도 말고, 자주 하지도 말자.

다시 위의 내용으로 돌아가보면...

물론 추가적인 요점들이 있겠지만, 위 summary된 사항만 알고 객체지향에 접근한다면
훨씬 프로페셔널에 빨리 접근하게 될 것이다.
반응형

댓글