OOP(객체지향 프로그래밍)

uni.gy·2023년 5월 2일
0

CS

목록 보기
1/18

Object oriented programming

OOP 4가지 특징

  1. 추상화

    • 객체들 간의 공통된 속성이나 행동을 추출하여 하나의 개념(집합)으로 다룬다.
    • 인터페이스와 구현을 분리한다.
  2. 캡슐화

    • 필드와 메서드를 하나로 묶는 것
    • 정보 은닉 : 필요가 없는 정보는 외부에서 접근하지 못하도록 제한하는 것
      정보 은닉을 통해 높은 응집도와 낮은 결합도를 갖도록 한다.
  3. 상속(일반화)

    • 자식은 부모에게서 상속된 필드와 메서드를 사용할 수 있고 수정 가능하다.
    • 상속을 통해 중복 코드를 줄일 수 있다.
  4. 다형성

    • 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.
    • 오버로딩 : 같은 기능을 하는 메서드들을 매개변수가 다르게 하여 정의하는 것
    • 오버라이딩 : 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것

응집도 : 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는 정도
결합도 : 어떤 기능을 실행하는 데 다른 클래스나 모듈들에 얼마나 의존적인지

OOP 5대 원칙(SOLID)

  1. S : 단일 책임 원칙
    • 객체는 단 하나의 책임만 가져야 한다.

  2. O : 개방-폐쇄 원칙
    • 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.

  3. L : 리스코프 치환 원칙
    • 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.

  4. I : 의존 역전 원칙
    • 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것이다.

  5. D : 인터페이스 분리 원칙
    • 인터페이스를 클라이언트에 특화되도록 분리시키는 설계 원칙.
profile
한결같이

0개의 댓글