객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 합니다.
객체(object)란?
간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있습니다.
객체를 만들어 내는 이유는?
객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 됩니다.
클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다.
필드(field)
메소드(method)
class User {
constructor({ username, lastname}) {
this.user = username;
this.last = lastname;
}
getProfile() {
console.log(`${this.username}`);
}
}
const user = new User({
username: "Nico",
lastname: "serrano",
});
JavaScript에서 클래스를 사용하기 위해서는 우선 해당 클래스 타입의 객체(object)를 선언해야 합니다.
※ instance의 사전적 의미는?
(명사) an example or single occurrence of something.
const user = new User({
username: "Nico",
lastname: "serrano",
});
class User {
constructor({ username, lastname}) {
this.user = username;
this.last = lastname;
}
getProfile() {
console.log(`${this.username}`);
}
}
// extends 속성을 통해 메소드(method) 추가.
// 부모 class인 user에서 이 메소드 사용이 불가하다.
class Admin extends User {
deleteWebsite() {
console.log("Boom!");
}
}
const admin = new Admin({username: "Nico", lastname: "serrano",});
admin.deleteWebsite()