[JavaScript] 객체 지향 프로그래밍

유아현·2022년 11월 18일
0

JavaScript

목록 보기
17/25
post-thumbnail

절차적 언어와 객체 지향 언어

  • 절차적 언어: 초기의 프로그래밍 언어들 (C, 포트란 등), 순차적인 명령의 조합
    - 절차 지향: 프로그램이 기능 중심, "무엇을 어떤 절차로 할 것인가"
  • 객체 지향 언어: "클래스"라고 부르는 데이터 모델의 청사진을 사용해서 코드 작성(Java, C++, C# 등)
    - 객체 지향: 기능이 아닌 객체가 중심, "누가 어떤 일을 할 것인가"

OOP

  • 프로그램 설계 철학
  • 모든 것은 <객체>로 그룹화
  • 4가지 주요 개념(캡슐화, 상속, 추상화, 다형성)

OOP 4가지 주요 개념

1. Encapsulation (캡슐화)

- 데이터와 기능을 하나의 단위로 묶는 것
- 은닉: 구현은 숨기고, 동작은 노출
- 느슨한 결합에 유리함: 언제든지 구현을 수정 가능
- 코드나 데이터의 은닉에 포커스가 맞춰져 있다.

2. Inheritance (상속)

- 부모 클래스의 특징을 자식 클래스가 물려받는 것

3. Abstraction (추상화)

- 내부 구현은 복잡하지만, 실제로 노출되는 부분은 단순하게 만든다는 개념
- 클래스를 사용하는 사람이 필요하지 않는 메서드 등은 노출시키지 않고,
  단순한 이름으로 정의하는 것에 포커스
  

4. Polymorphism (다형성)

- 똑같은 메서드라도 각자 다른 방식으로 구현될 수 있다.

0개의 댓글