꼭 constructor 가 있어야 한다!
-> 딱 한번만 실행되고 꼭 함수 이름이 consturctor 여야한다.
class User {
constructor(name) { this.name = name };
}
let user = new User("JAMONG");
-------------------------------------------
class User {
constructor(name){
this.category : human;
this.name = name;
this.bag = [];
}
get inbag(){ //함수에서는 못 나눴던 것들을 여기선 나눌 수 있다.
return this.bag;
}
set inbag(item){
this.bag.push(item)
}
}
const me = new User('JAMONG')
class Tiger extends Animal{} = Animal.call(this)
클래스에서 상속받기 : extends
상속된 거에서 뭐 가져오기 : super()

static 을 사용하자!
class User {
static options = {
version : '0.1',
}
static read(){
} -> 정적 클래스 : 클래스 자체에서만 실행할 수 있다.
write(){
} -> 일반 메서드 : 이 클래스의 인스턴스에서만 접근할 수 있다.
}
read 는 User.read() 로 사용가능한 정적 메서드
write 는 User 클래스로 인스턴스를 만든 후에 접근할 수 있는 인스턴스 메서드
정적 메서드는 클래스의 인스턴스에 속하지 않으므로 인스턴스에서 직접 호출할 수 없습니다.
# 을 사용하자!
class User {
static options = {
version : '0.1',
}
static read(){
}
#write(){
} -> 비공개 멤버. 클래스 안에서만 접근할 수 있고 밖에서는 접근할 수 없다.
}
const me = new User()
console.log(me.write()) -> //TypeError: me.write is not a function
console.log(me.read()) -> //TypeError: me.read1 is not a function