3-7. 5조 객체지향 프로그래밍

keubung·2024년 10월 15일
  • 문제은행 - 코딩 테스트 Day1 ~ Day2 두 수의 차

  • 객체지향 프로그래밍 특강
절차지향은 코드 간의 순서

객체지향

- 객체 간의 관계를 중점적으로 만드는 것

  • 객체지향의 4가지 키워드
    - 캡슐화, 추상화, 상속, 다향성
    • 캡슐화를 하기 위해 추상화를 진행하고 상속을 통해서 다향성을 가진다.
  • 상속관계, 의존관계, 연관관계, 실체화 관계
    - 의존도, 결합도를 낮춰줄 수 있도록 코드를 작성하자!
    - 객체의 자율성과 응집도를 높이자!

  • 객체지향의 5대 원칙

    1. 단일책임원칙(SRP)
      : 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 한다.
    2. 개방폐쇄원칙(OCP)
      : 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다.
    3. 인터페이스 분리원칙(ISP)
      : 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다.
    4. 의존성 역전 원칙(DIP)
      : 상위 모듈이 하위 모듈에 의존해서는 안된다.
      - 고수준 모듈 : 어떤 의미 있는 단일 기능을 제공하는 모듈 (interface, 추상 클래스)
      -저수준 모듈 : 고수준 모듈의 기능을 구현하기 위해 필요한 하위 기능의 실제 구현 (메인클래스, 객체)
    5. 리스코프 치환 원칙(LSP)
      : 부모 객체를 호출하는 과정에서 자식 객체가 부모 객체를 완전히 대체할 수 있다.(ex. 도형의 면적(x * y) -원, 사각형)
  • 응집도, 결합도를 낮추는 방법

    1. 연관성이 없는 작업은다른 객체(클래스)에게 위임한다.
    2. 객체 내부의 상태를 캡슐화하고 오직 메세지를 통해서만 상호작용한다.
    3. 단일 클래스 상속보단 다중 인터페이스 상속을 한다.

  • 게임개발 입문 프로젝트 주제 결정 - 벽돌깨기
profile
김나영(Unity_6기)

0개의 댓글