[Typescript] Class

Asher Park·2023년 1월 18일
0
post-thumbnail

스파르타코딩클럽 내일배움캠프 Typescript 강의를 들으며 공부한 것을 적은 것입니다.

readonly

  • 읽기 접근만 가능하게 하기
class Human {
	readonly name: string;
  
  	constructor(theName: string) {
    	this.name = theName;
    }
}

let asher = new Human("asher");
asher.name = "Asher" // error, 수정 불가

Accessor

  • public
class Human {
	name: string;
}

const asher = new Human();
asher.name = "asher";
  • private
    클래스 내에서만 접근이 가능하므로 get과 set을 활용해야한다.
class Human {
	private _name: string;
  
  	get name(): string {
    	return this._name;
    }
  
  	set name(value: string) {
    	this._name = value;
    }  
}

const asher = new Human();
asher.name = "asher";
console.log(asher.name); // asher

Abstract Class

  • 특정 클래스에 상속이 되는 클래스
  • 좀 더 상위 레벨에서 속성, 메서드 모양을 정의
abstract class Developer {
	abstract coding(): void;
  	drink(): void {
    	console.log("drink");
    }
}

class FrontEndDeveloper extends Developer {
	coding(): void {
    	console.log("develop front");
    }
}

class BackEndDeveloper extends Developer {
	coding(): void {
    	console.log("develop back");
    }
}

'abstract' 가 붙으면 상속 받은 클래스에서 반드시 구현해야 한다!

profile
배움에는 끝이없다

0개의 댓글