객체지향 자바스크립트에서 클래스와 오브젝트 차이
업데이트:
1. 클래스와 오브젝트
1.1 클래스란?
클래스는 무언가를 만들 수 있는 틀, 템플릿이라고도 불립니다.
클래스에는 fields, methods 가 포함되어 있습니다.
class animal {
name; // field
local: // field
eat(); // method
}
이와 같이 관련된 변수와 함수를 묶어 놓은 것을 클래스라고 합니다.
클래스를 이용하여 상속과 다양성이 발생할 수 있는데 이러한 모든 것을 가능하게 하는 것이 객체지향입니다.
1.2 오브젝트란?
클래스는 무언가를 만들 수 있는 ‘틀’ 이라고 했습니다.
오브젝트는 이러한 틀(클래스)로 만들어낸 것 입니다.
클래스를 이용하여 새로운 인스턴스를 생성하면 오브젝트가 되는 것입니다.
1.3 클래스와 오브젝트 차이
우리가 흔히 볼 수 있는 붕어빵을 만드는 과정을 예로 들어보겠습니다.
붕어빵 틀(클래스) → 팥을 넣었다 → 팥 붙어빵(오브젝트)
붕어빵 틀(클래스) → 크림을 넣었다 → 크림 붕어빵(오브젝트)
2. 클래스의 선언
class Bungeoppang {
constructor(meterial) {
this.meterial = meterial;
}
}
붕어빵을 만드는 클래스를 만들었습니다.
클래스 생성 시에 해당하는 재료를 넣을 수 있는 생성자 또한 만들었습니다.
3. 오브젝트 생성
const redBeanBungeoppang = new Bungeoppang('redBean'); // 팥 붙어빵
const creamBungeoppang = new Bungeoppang('cream'); // 크림 붕어빵
redBeanBungeoppang.meterial;
('redBean');
creamBungeoppang.meterial;
('cream');
new
키워드를 사용해서 오브젝트를 만드는데 재료로 ‘팥’, ‘크림’을 넣었습니다.
이와 같이 클래스(틀)을 이용하여 다양한 오브젝트를 생성할 수 있습니다.
댓글남기기