OOP(Object-Oriented Programming, 객체 지향 프로그래밍)

Taeyoung·2021년 11월 8일
0
post-thumbnail

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

  • 프로그램 설계 철학
  • 모든 것이 객체로 그룹화
  • 재사용 용이

OOP 특징

  • 클래스 : 세부 사항이 들어가지 않은 청사진. 객체를 만들기 위한 생성자 함수 포함
  • 인스턴스 : 클래스의 사례
  • 사람이 세계를 보고 이해하는 방법과 유사

캡슐화

  • 데이터와 기능을 하나의 단위로 묶음
  • 구현은 숨기고 동작은 노출 => 은닉(내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 것)
  • 느슨한 결합에 유리 => 언제든 구현 수정 가능
  • 코드가 복잡하지 않게 만들고 재사용성을 높인다.

추상화

  • 내부 구현은 복잡하지만 실제 노출되는 부분을 단순하게 만든다
  • 코드 복잡도를 줄인다
  • 인터페이스를 단순화 할 수 있다 => 변화에 대한 영향 최소화
  • 추상화 vs 캡슐화
    • 추상화: 객체들의 공통된 특징을 파악해 정의해 놓은 설계 기법
    • 캡슐화: 코드나 데이터의 은닉

상속

  • 부모 클래스(기본 클래스)의 특징을 자식 클래스(파생 클래스)가 물려받는 것
  • 기본적인 클래스에 속성/메소드를 추가하는 것
  • 불필요한 코드를 줄여 클래스 재사용에 용이

다형성

  • 같은 형태이지만 다른 기능을 하는 것
  • 동일한 메소드에 대해 조건문 대신 객체의 특성에 맞게 달리 작성할 수 있다
profile
코더가 말고 개발자가 되고싶은...

0개의 댓글