[SEB FE 44] 객체 지향 프로그래밍

Heechang Jeong·2023년 3월 15일
0

CODE STATES

목록 보기
21/40
post-thumbnail

✍ 복습 자료

  • 객체 지향 프로그래밍의 주요 개념

    1. 캡슐화 Encapsulation
    데이터와 기능을 하나의 단위로 묶는 것.
    은닉화의 특징 : 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만드는 것.
    => 디테일한 구현이나 데이터는 숨기고, 객체 외부에서 필요한 동작(메서드)만 노출한다.
    코드를 복잡하지 않게 만들고, 재사용성을 높인다.

    2. 추상화 Abstraction
    내부 구현은 복잡하지만, 실제로 노출되는 부분은 단순하게 만든다.
    => 클래스 정의 시, 메서드와 속성만 정의한 것을 인터페이스라고 한다. 이것이 추상화의 본질.
    코드를 복잡하지 않게 만들고, 단순화된 사용으로 변화에 대한 영향을 최소화한다.

    3. 상속 Inheritance
    부모 클래스의 특징을 자식 클래스가 물려받는 것.
    => 기본 클래스(base class)의 특징을 파생 클래스(derived class)가 상속받는다.
    불필요한 코드를 줄여 재사용성을 높인다.

    4. 다형성 Polymorphism
    객체 역시 똑같은 메서드라 하더라도, 다른 방식으로 구현될 수 있다.
    동일한 메서드에 대해 if/else if와 같은 조건문 대신 객체의 특성에 맞게 달리 작성하는 것이 가능하다.




📌 오늘의 알파

  • TypeScript에서 OOP 패턴으로 구현한 클래스

// TypeScript 문법

class Animal {
  private name: string;

  constructor(theName: string) {
    this.name = theName;
  }
}

new Animal("Cat").name; // 사용 불가
// Property 'name' is private and only accessible within class 'Animal'. 
  • private 키워드를 사용하는 이유?

    클래스 내부에서만 쓰이는 속성 및 메서드를 구분시키기 위해서 사용한다.

0개의 댓글