home
자바
home
🔥

#4.0 ~ #4.1

#4.0 Classes
#4.1 Recap

Class

class Player { // 선언만해도 초기화를 해준다. // this.firstName = firstName; 안해줘도 constructor( private firstName: string, private lastName: string, public nickname: string ) {} } const jjw = new Player('jung', 'jaewoong', '재웅'); jjw.firstName; // 접근불가(private) - error jjw.lastName; // 접근불가(private) - error jjw.nickname; // 접근가능(public)
TypeScript
복사

abstract class

추상클래스는 다른 클래스가 상속받을 수 있는 클래스이다.
직접 새로운 인스턴스를 만들 순 없다.
abstract class User { constructor( private firstName: string, private lastName: string, public nickname: string ) {} } // 추상클래스 User는 상속받을 수만 있고, 직접적으로 인스턴스를 만들지는 못한다. class Player extends User { } // 타입스크립트가 추상클래스의 인스턴스를 만들 수 없다고 경고한다. const jjw = new User('jung', 'jaewoong', 'jjw'); //error
TypeScript
복사

abstract method

추상메소드는 추상클래스를 상속받는 모든 것들이 구현해야하는 메소드를 의미한다.
abstract class User { constructor( private firstName: string, private lastName: string, public nickname: string ) {} // call signature만 적는다. // 구현체는 적지 않는다. abstract getFirstName(): void } class Player extends User { //getFirstName을 구현하지 않아서 오류가 난다. }
TypeScript
복사
protected로 선언하면 클래스밖에서 접근할 수 없지만 해당 클래스를 상속받은 자식 클래스에서는 접근할 수 있다.