[객체 지향 프로그래밍 입문] 9. 정리

출처: 최범균님의 객체 지향 프로그래밍 입문 강의
https://www.inflearn.com/course/%EA%B0%9D%EC%B2%B4-%EC%A7%80%ED%96%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%9E%85%EB%AC%B8/dashboard

  • 소프트웨어의 가치는 변화
    • 적은 비용으로 변화할 수 있는 방법 중 하나가 객체 지향
  • 객체는 제공하는 기능으로 정의됨
    • 예) 회원 객체 (암호 변경하기 기능)
      public Member {
      	public void changePassword(String curPw, String newPw) {...}
      }
  • 메서드를 이용해서 기능 명세
    • 이름, 파라미터, 결과로 구성
  • 캡슐화: 내부 구현 감춤
    • 이는 내부 구현 변경에 따른 외부 영향을 최소화
    • 내부 규현 변경의 유연함
    • 요구사항의 변화가 내부 구현을 변경 → 캡슐화된 기능을 사용하는 코드 영향 최소화
  • 추상화: 여러 구현의 공통점을 상위 타입으로 도출

  • 상속보단 조립
    • 상속의 단점을 조립하는 방식으로 해소
  • 기능과 책임 분리
    • 네가지 분리 방법: 패턴 적용, 계산 기능 분리, 외부 연동 분리, 조건별 분기는 추상화
    • 적절히 책임을 분리할수록 테스트 용이
  • 의존과 DI
    • DI로 의존 객체 접근
      의존 객체 변경이 쉽고 테스트에서 대역 객체 사용 용이

다음 학습 추천

  • 복습
  • TDD(개발 속도, 좋은 설계 가능성 높여줌)
  • 함수형 프로그래밍 기초(비용을 낮춰주는 다른 방법)
  • 각 패러다임의 설계 패턴(지식/지혜 재사용)
  • UML(도식화)

좋은 웹페이지 즐겨찾기