공부/OOP

OOP의 특성

kkkkkdddddhhhhh 2023. 12. 13. 00:55

1.캡슐화.

  • 데이터와 그 데이터에 작용하는 메서드를 하나로 묶음
  • 정보 숨기기: 개체안에 있는 데이터를 외부로부터보호
    • 외부: 다른 클래스에 속한 객체들

2.상속

  • 이미 존재하는 개체를 기반으로 확장된 개체를 만드는 방법
    • 기존의 개체에 속한 데이터와 동작을 모두 물려받음
    • 여기에 다른 데이터나 동작을 추가할 수 있음.
  • 실용적인 용도:
    • 코드 중복을 막음

3.다형성

  • OOP의 핵심
  • 같은 지시를 내렸는데 다른 종류의 개체가 동작을 달리하는것.
    • 같은지시: 동일한 함수 시그니처 호출
    • 달리 동작: 개체의 동작에따라 실행되는 함수 구현 코드가 다름.
  • 어떤 함수 구현이 실행될지는 실행중에 결정됨
  • 다형성의 혜택을 받으려면 상속 관계가 필요.
  • 실용적 용도:
    • 부모의 형을 저장하는 배열에 모든 자식 객체를 저장.
      • Animal[] 배열안에 cat,dog,bird 객체들을 넣어서 사용가능.

4.추상화

  • 데이터 추상화
    • 객체 사용시 그 안에 정확히 어떤 데이터가 있는지 알 필요 없음.
    • 객체안에 있는 데이터에 직접 접근 불가.
      • 대신 객체의 함수를 통해 접근

5.연관

  • 어떤 객체가 제공하는 기능을 다른 객체가 이용하는 관계
  • 종종 상속과 비교해 설명
  • 세부적으로 집합과 컴포지션으로 나누기도함

'공부 > OOP' 카테고리의 다른 글

Singleton  (0) 2023.12.13
Static  (0) 2023.12.13
개체 모델링 가이드라인.  (0) 2023.12.13
getter,setter  (0) 2023.12.13
객체지향 프로그래밍의 필요성  (0) 2023.12.13