객체 지향 프로그래밍

유영준·2023년 3월 15일
0

객체 지향 프로그래밍

"클래스"라고 부르는 데이터 모델의 청사진을 사용해 코드 작성

현대의 언어들은 대부분 객체 지향의 특징을 갖고 있음
(대표적으로 Java, C++, C# 등)

캡슐화

데이터와 기능을 하나의 단위로 묶는 것

  • 캡슐화를 왜 할까요?

가장 중요한 이유는 "정보은닉" 때문

정보은닉이란, 객체에 대한 구체적인 정보를 노출시키지 않도록 하기 위한 기법

추상화

추상화의 장점
1. 사용자가 낮은 수준의 코드를 작성하지 않도록 도움.
2. 코드 중복 방지 및 재사용성 향상.
3. 사용자에게 영향을 끼치지 않은 채로 독립적으로 클래스의 내부 구현 변경 가능
4. 중요한 세부 정보만 사용자에게 제공하므로 응용 프로그램 또는 프로그램의 보안 향상에 도움

 class ImplementAbstraction {
      // method to set values of internal members
      set(x, y) {
        this.a = x;
        this.b = y;
      }

      display() {
        console.log('a = ' + this.a);
        console.log('b = ' + this.b);
      }
    }

    const obj = new ImplementAbstraction();
    obj.set(10, 20);
    obj.display();
    // a = 10
    // b = 20

상속

기존 부모 클래스(비교적 추상적)를 상속받아 새로운 자식 클래스(비교적 구체적)를 추가할 수 있다.

부모 생성자의 기능을 물려 받으면서, 새로운 기능을 추가.

다형성

다형성이란 객체의 프로퍼티 또는 메서도를 다향한 형태로 변형시켜 사용할 수 있는 것을 말한다.

profile
프론트엔드 개발자 준비 중

0개의 댓글