배운 점
3장 자바와 객체 지향
- 클래스는 분류에 대한 개념이고, 객체는 실체이다.
- 추상화는 곧 모델링이다.
- 클래스는 스태틱 영역에, 객체는 힙 영역, 객체 참조 변수는 스택 영역에 할당된다.
- 상속은 재사용과 확장의 의미를 담고 있다.
- 상속은 is a kind of 관계이다.
- 다형성의 가장 기본은 오버라이딩과 오버로딩이다.
5장 객체 지향 설계 5원칙 - SOLID
- 객체지향의 5원칙(SOLID 원칙)은 응집도(Cohesion)는 높이고, 결합도(Coupling)은 낮추라는 고전 원칙을
객체 지향의 관점에서 재정립한 것이다.
- 단일 책임 원칙은 클래스의 분할 뿐만 아니라 속성, 메서드, 패키지, 모듈, 컴포넌트, 프레임워크
등에도 적용할 수 있는 개념이다.
- 개방 폐쇄 원칙의 가장 좋은 예는 바로 JDBC이다.
- 개방 폐쇄 원칙을 무시하고 프로그램을 작성하면 객체 지향 프로그래밍의 가장 큰 장점인
유연성, 재사용성, 유지보수성 등을 얻을 수 없다.
-> 따라서 객체 지향 프로그래밍에서 개방 폐쇄 원칙은 반드시 지켜야 할 원칙이다.
- 리스코프 치환 원칙은 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다는 원칙이다.
- 인터페이스 분할 원칙을 이야기할 때 항상 함께 등장하는 원칙 중 하나로 인터페이스 최소주의 원칙이라는 것이 있다.
-> 인터페이스를 통해 메서드를 외부에 제공할 때는 최소한의 메서드만 제공하라는 것이다.
- 의존 역전 원칙은 상위 클래스일수록, 인터페이스일수록, 추상 클래스일수록 변하지 않을 가능성이 높기에
하위 클래스나 구체 클래스가 아닌 상위 클래스, 인터페이스, 추상 클래스를 통해 의존하라는 것이다.
- SOLID 원칙을 적용하면 소스 파일의 개수는 더 많아지는 경향이 있다.
하지만 이렇게 많아진 파일이 논리를 더욱 잘 분할하고, 잘 표현하기에 이해하기 쉽고,
개발하기 쉬우며, 유지와 관리, 보수하기 쉬운 소스가 만들어진다.
-> SOLID 원칙을 적용함으로써 얻는 혜택에 비하면
늘어나는 소스 파일 개수에 대한 부담은 충분히 감수하고도 남을 만하다.
'책' 카테고리의 다른 글
테크니컬 리더 - 서문 (0) | 2022.05.05 |
---|---|
객체지향의 사실과 오해 리뷰(1) 01~02 (0) | 2022.04.30 |
스프링 입문을 위한 자바 객체 지향의 원리와 이해 리뷰(1) (1~2장) (0) | 2022.04.26 |