
1. 클래스 만들기
- private : 클래스 외부에서 접근할 수 없음
class Player {
constructor(
private firstName:string,
private lasttName:string
) { }
}

- public : 기본 접근 제어자이며, 클래스 외부에서도 접근할 수 있음
class Player {
constructor(
private firstName:string,
private lasttName:string,
public nickName:string
) { }
}
const min = new Player("min", "las", "밍");
min.firstName;

2. 추상 클래스
- 인스턴스를 생성할 수 없으며, 다른 클래스에서 상속받아 사용해야 함
abstract class User{
constructor(
private firstName:string,
private lasttName:string,
public nickName:string
) {}
}
class Player extends User {
}
const min = new User("min", "las", "밍");

3. 추상 메서드
- 추상 클래스 내에 선언
- 이 메서드는 상속받는 클래스에서 반드시 구현해야 함
abstract class User{
constructor(
private firstName:string,
private lasttName:string,
public nickName:string
) {}
getFullName() {
return`${this.firstName} ${this.lasttName}`
}
}
class Player extends User {
}
const min = new Player("min", "las", "밍");
min.getFullName()

- 구현하지 않으면 클래스 자체도 추상 클래스가 되어 인스턴스를 생성할 수 없음
abstract class User{
constructor(
private firstName:string,
private lasttName:string,
public nickName:string
) {}
abstract getNickName():void // 콜 시그니처
getFullName() {
return`${this.firstName} ${this.lasttName}`
}
}
class Player extends User {
}
const min = new Player("min", "las", "밍");
min.getFullName()

- private이기에 직접 접근할 수 없음
abstract class User{
constructor(
private firstName:string,
private lasttName:string,
private nickName:string
) {}
abstract getNickName():void // 콜 시그니처
getFullName() {
return`${this.firstName} ${this.lasttName}`
}
}
class Player extends User {
getNickName() {
console.log(this.nickName);
}
}
const min = new Player("min", "las", "밍");
min.getFullName()

Share article