인프런 워밍업 백엔드 4기 - 1주차 발자국

[추상]

상대적으로 덜 중요한 정보를 제거하고, 중요한 정보만 남기는 작업

구현체들의 정보 함축, 공통된 내용을 모으는 과정

단, 유추가 가능하며 정보재현이 가능해야한다.

만약 추상화 과정에서 중요한 정보를 부각시키지 못한다면, 상대방에게 정작 추상화된(공통되며 전달해야하는) 정보를 제대로 전달하지 못하게 된다. 또한 해석자와 공유하는 문맥이 존재해야한다.

 

[객체 지향 패러다임]

추상의 관점으로 객체지향 바라보기

  • SOLID : SRP / OCP / LSP / ISP / DIP

섹션 5 - 객체 지향 적용하기

  • 상속과 조합

    • 상속보다는 조합을 -> 상속은 부모 자식간의 결합도가 높고 구조가 굳어지므로 수정이 어렵다. 확실한 상속 구조가 아니라면, 조합과 인터페이스를 활용하여 유연한 구조를 사용하자. (웬만한 구조는 조합, 인터페이스로 적용이가능)

  • VO

    • 도메인의 개념을 추상화 하여 표현한 값 객체

    • 값으로 표현하기 위해 불변성(final), 동등성(equals() & hashCode()재정의), 객체 생성되는 시젖ㅁ 유효성 검증을 보장해야한다.

  • 일급 컬렉션

  • Enum

    • 상태와 행위를 한 곳에서 관리할 수 있는 추상화된 객체

    • 특정 도메인의 개념에 대해 명시적으로 표현할 수 있다.

     

댓글을 작성해보세요.

채널톡 아이콘