class abstract

YOUNGJOO-YOON·2021년 7월 9일
0

typeScript

목록 보기
28/65

TOC

  1. abstract란

abstract는 상위 클래스에서 하위 클래스에서 선언할 수 있는 추상적인 state, method를 만드는 것이다.

예를 들면 행성이라는 class에 대해 항성과 대기라는 추상 클래스를 선언하면
extends를 통해 class를 내려받은 지구라는 class는 항성과 대기라는 추상 클래스를 선언해야만 한다.



abstract class star{
	public name:string | null=null;
	public atmosphere:string | null=null;
	private radius:number = 2000;
	abstract fixedStar:string; // 추상 state(model?)
	abstract changeName(name:string):void; // 추상 method
	abstract changeEnvironment(atmosphere:string):void; // 추상 method
}

class earth extends star {
	fixedStar:string='Sun';
	changeName(name:string):void{
		this.name=name;
	}
	changeEnvironment(atmosphere:string):void{
		this.atmosphere=atmosphere;
	}
}

let home = new earth();
home.name='home';
home.atmosphere='O2'
console.log('home: ',home);

home.changeName('our home');
home.changeEnvironment('CO2');

console.log('home: ',home);
// console
home:  earth {
  name: 'home',
  atmosphere: 'O2',
  radius: 2000,
  fixedStar: 'Sun'
}
home:  earth {
  name: 'our home',
  atmosphere: 'CO2',
  radius: 2000,
  fixedStar: 'Sun'
}
profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글