Section 2: 객체지향 프로그래밍

sunnychu·2023년 5월 11일

SEBFE45

목록 보기
11/19

객체 지향 언어

  • class라고 부르는 데이터 모델의 청사진을 사용해 코드를 작성

javascript 객체 지향 패턴으로 작성은 가능하지만 객체 지향 언어는 아님

OOP: Object-Oriented Programming 객체 지향 프로그래밍

  1. 프로그램의 설계 철학
  2. oop의 모든 것은 객체로 그룹화 된다.
    -> 이 객체는 한번 생성하면 메모리 상에서 반환되기 전까지 객체 내의 모든 것이 유지된다.
  3. oop의 4가지 주요 개념을 통해 "재사용성"을 얻을 수 있다.

객체 지향 프로그래밍의 4가지 주요 특징

  1. 캡슐화(encapsulation)
  2. 상속(inheritance)
  3. 추상화(abstraction)
  4. 다형성(polymorphism)

객체 지향 프로그래밍의 4가지 특징에 대해 알아보자.

1. 캡슐화 (Encapsulation)

  • 데이터와 기능을 하나의 단위로 묶는 것
  • 은닉(hiding): 구현은 숨기고, 동작은 노출시킨다
  • 느슨한 결합(loose coupling)에 유리하다.
    -> 언제든 구현을 수정할 수 있다.

loose coupling

코드가 상징하는 실제 모습과 닮게 코드를 모아 결합하는 것

2, 추상화(abstraction)

실제로 노출되는 부분은 단순하게 만든다
불필요한 세부 사항들은 제거하고 가장 본질적이고 공통적인 부분만을 추출하여 표현하는 것

그럼 추상화랑 캡슐화랑 은닉하는 것은 같다? no!

캡슐화는 코드나 데이터의 은닉!
추상화는 클래스를 사용하는 사람이 불필요한 메서드 등을 노출시키지 않고 단순한 이름으로 정의!

3. 상속(inheritance)

부모 클래스의 특징을 자식 클래스가 물려받는 것
보다 자세하게는 "기본 클래스(base class)"의 특징을 "파생 클래스(derived class)"가 상속받는다. 로 표현하는 것이 적합하다고 한다.

4. 다형성(polymorphism)

다양한 형태를 가질 수 있다. 즉, 어떠한 객체의 속성이나 기능이 상황에 따라 여러가지 형태로 가질 수 있는 성질

위 4가지 특징으로 객체 지향 프로그래밍은 코드를 재사용하기 쉽다 (상속, 캡슐화, 다형성으로 인해 재사용할 수 있다.)

0개의 댓글