[실시간 강의] 객체지향 프로그래밍 특강

우정·2022년 11월 21일
0

[내일배움캠프] TIL

목록 보기
11/50

특강 복습

  • 객체의 역할과 책임
    • 각 객체들은 역할과 책임이 주어짐
    • 각 객체들은 서로 협력을 통해 움직임 (협력 : 요청과 응답)
    • 역할과 책임을 가지는 객체들이 서로 협력을 통해 시스템을 구성함
    • 객체의 품질이 협력의 품질을 결정함 (각 객체가 요청에 성실히 이행했는지에 따라 결정됨)
  • 객체 지향
    • 객체는 다른 객체와 협력하기 위해 메시지를 전송하고, 메시지를 전달받은 객체는 적합한 메서드를 자율적으로 선택하여 처리함
    • 클래스는 객체들의 협력 관계를 코드로 옮기는 도구!
    • 객체의 역할, 책임, 협력에 집중해야 함
    • 객체 지향은 객체를 지향하는 것!! (클래스를 지향X)
  • 카페 시스템
    • 직접 쳐 봐야 하는데 아직.. 강의만 받아 적고 혼자 해보진 않았음...ㅜ

오늘 배운 내용

  • 객체지향 프로그래밍
    • 프로그램을 유연하고 변경하기 쉽게 만듦
      • 다형성 : 클라이언트를 변경하지 않고 내부 기능을 변경함
  • SOLID
    • 단일 책임 원칙(SRP) : 한 클래스에는 하나의 책임만 가져야 함(책임의 기준 : 변경)
    • 개방/폐쇄 원칙(OCP) : 확장에는 열려있지만 변경에는 닫혀있음
      • ex. 템플릿 메소드 패턴
        • 알고리즘의 구조를 메서드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경 없이 알고리즘을 재정의하는 패턴
        • 즉, 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화할 때 유용함.
        • 역할
          • AbstractClass
            • 템플릿 메서드를 정의하는 클래스
            • 하위 클래스에 공통 알고리즘을 정의하고 하위 클래스에서 구현될 기능을 primitive 메서드 또는 hook 메서드로 정의함
          • ConcreteClass
            • 물려받은 primitive 메서드 또는 hook메서드를 구현하는 클래스
            • 상위 클래스에 구현된 템플릿 메서드의 일반적인 알고리즘에서 하위 클래스에 적합하게 primitive 메서드나 hook 메서드를 오버라이드함
    • 리스코프 치환 원칙(LSP) : 하위 타입은 언제나 상위 타입으로 교체할 수 있음
    • 인터페이스 분리 원칙(ISP)
    • 의존 관계 역전 원칙(DIP)

느낀점

  • 언제나 할 일이 많다...~ 이해가 느린 건지 집중을 못하는 건지..? 왜 오늘 이거밖에 못했지.....? 당황스럽네
  • 이래가지곤 팀 프로젝트를 잘할 수 있을까? ㅠ,.ㅠ
  • 퐈이팅하좌,,,,~

0개의 댓글

관련 채용 정보