[JS/Node] 객체 지향 JavaScript

Sehyeon Park·2022년 5월 19일
0

객체 지향 프로그래밍(OOP, Object-oriented programming)은, 절차 지향 프로그래밍과는 다르게 데이터와 기능을 한곳에 묶어서 처리합니다. 속성과 메서드가 하나의 "객체"라는 개념에 포함되며, 이는 자바스크립트 내장 타입인 object(이하, object literal)와는 다르게, 클래스(Class)라는 이름으로 부릅니다.

객체 지향 프로그래밍을 철저하게 적용한 프로그래밍 언어로는 Java와 C#이 있다.

그러나 자바스크립트에서 OOP를 구현하는 방법은 조금 독특하다.


객체 Review

메서드 호출은 객체.메서드() 와 같이 객체 내에서 메서드를 호출하는 방법을 의미한다.

⚠️ 메서드 호출 방식을 이용할 때에는 화살표 함수를 쓰지 않습니다.

클로저를 이용해 매번 새로운 객체 생성하기

Singleton 패턴은 단 하나의 객체만 만들 수 있다.
만약 똑같은 기능을 하는 카운터가 여러 개가 필요하다면, 이 코드를 여러 번 만들어야 할까요? 같은 코드를 그대로 복사/붙여넣기 해야 하므로, 재사용성이 떨어집니다.

똑같은 기능을 하는 카운터를 여러 개 만드는 방법 중 하나는, 아래 예제 코드와 같이 클로저 모듈 패턴을 이용할 수 있습니다.


클래스와 인스턴트

객체 지향 프로그래밍

객체 지향 프로그래밍은 하나의 모델이 되는 청사진을 만들고, 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 패턴이다.

그냥 객체가 아닌 "청사진"을 바탕으로 한 객체는 인스턴스 객체(instance object), 줄여서 인스턴스(instance)라고 부르겠습니다. 청사진은 클래스(class)라고 부릅시다.

이른 설계도(청사진)을 바탕으로 각각의 객체가 특정한 자동차 모델로 나오게 되는것 이다.

profile
후회하지 않는 개발자가 되자!

0개의 댓글