JavaScript

클래스

fromslow 2020. 7. 30. 16:05

자바스크립트는 '프로토타입'기반 언어이기에 원래 클래스라는 개념이 없었다.

하지만 클래스의 유용성으로 es5부터 클래스가 함수를 흉내내면서 쓰이기 시작한다.

 

 

클래스는 객체 지향 프로그래밍(Object Oriented Programming, OOP)을 가능하게 한다. 

 

 

객체 지향 프로그래밍이란?

세상 만물을 상태(변수)와 동작(메소드)으로 정의하고,

이렇게 정의한 을 가지고 객체들을 마구마구 찍어내는 프로그래밍 방법론.

 

쉽게 이해하려면 달고나를 생각해본다.

달고나 틀(상태, 동작)로 녹인 설탕 위를 눌러 찍어낸다.(객체)

 

 

예시)

고양이(객체)를 다음과 같이 모델링한다.

 

1. 고양이의 상태

-나이, 키, 종...

 

2. 고양이의 동작

-배가 고프면 까칠해진다.

-내가 코딩을 하면 방해한다.

-졸리면 잔다.

 

이렇게 정의한 클래스를

새로운 객체에 실제로 찍어낸다.

 

 

클래스의 구조

 

class 클래스 이름 {

초기화하는 부분(상태, 변수)

메소드 부분(동작)

}

 

초기화하는 부분인 상태를 정의할 때에는 constructor 메서드를 사용해야한다.

즉, constructor에서 초기화 해준다.

 

 

인스턴스를 생성할 때에는 앞에 new를 붙인다.