[javascript] 객체지향 프로그래밍(OOP)이란?

tnsdlznf23·2023년 3월 15일
0

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

  • Object Oriented Programming
  • 객체들이 서로 유기적으로 동작하는 프로그래밍 이론
  • 코드의 재사용성과 중복제거가 가장 큰 목정

1. 캡슐화

데이터(속성)와 기능(메서드)을 하나의 객체 안에서 넣어서 묶는다. 즉 코드 실행 순서에 따라서 절차적으로 코드를 작성하는 것이 아니라 코드가 상징하는 실제 모습과 닮게 코드를 모아 결합하는 것을 의미한다. 캡슐화를 하게 되면 내부 데이터나 내부 구현이 외부로 노출되지 않도록 만들어 정보은닉의 효과도 있다.

2. 추상화
추상화란 복잡한 소프트웨어 시스템을 효율적으로 설계하고 구현할 수 있는 방법이다. 추상화는 뒷편 시스템의 기술적 복잡함을 단순한 API안에 숨긴다. 코드의 중복을 제거할 수 있다.

3. 상속
상속은 부모 클래스의 특징을 자식 클래스가 물려받는 것이다. 클래스를 상속받아 추가적으로 필요한 속성/메서드만 추가하면 된다.

4. 다향성
똑같은 메서드라 하더라도 다른 방식으로 구현될 수 있다. 예시) HTML Element라는 클래스에 render라는 메서드를 만들고 TextBox, Select, Checkbox 등 상속받는 엘리먼트에 따라 조금씩 다르게 작동한다.

profile
프론트엔드 개발 기록장

0개의 댓글