TypeScript

타입스크립트에서 클래스 이해하기

hojncode 2023. 1. 11. 12:42

ESNext 는 (es6부터는 발표 연도를 붙여 ECMAScript2015 -줄여서 ES2015 이렇게 부르기로 표준을 정함, 1년주기로 새로운 버젼 발표.) 클래스 기능을 제공해 C++, JAVA 언어에서 사용하는 객체지향 프로그래밍을 지원합니다.

객체지향 프로그래밍은 프로그래밍언어가 '캡슐화 encapsulation ', 'Inheritance 상속성', 'polymorphism 다형성', 이라는 세가지 요소를 지원합니다.

 

코드예시:

abstract class Animal {
	constructor(public name?: string, public age?: number) {}
    abstract say(): string
}

class Cat extends Animal {
	say() {return '야옹'}
}

class Dog extends Animal {
	say() {return '멍멍'}
}

let animals: Animal = [new Cat('고양이',1), new Dog('강아지', 2)]
let sounds = animals.map(a =>a.say()) //["야옹","멍멍"]

 

위 코드를 ES5자바스크립트로는 작성하지 못합니다. 

그래서 타입스크립트로 작성한 후 , 자바스크립로 적용하여 콘솔창으로 sounds를 확인해보면 ["야옹","멍멍"] 이 나오는 것을 확인 할 수 있습니다.