Decorator 2

Decorator(데코레이터) 와 Meta-programming(메타프로그래밍): Typescript(타입스크립트) 예제

Decorator(데코레이터?) 동사 Decorate의 사전적 정의: 장식하다, 모양내다, 꾸미다 데코레이터: 장식, 장식하는 사람 타입스크립트의 데코레이터: 클래스와 클래스 멤버들의 기능을 추가 및 번경하는 "함수". 데코레이터의 특징 1. class를 수정하거나 subclass를 생성하지 않고도 기능을 변형할 수 있다. 2. 메타프로그래밍적 요소이다. 3. run-time에 실행된다. 사실 위의 특징 세 개는 모두 "메타프로그래밍"으로 요약된다. 메타프로그래밍: 사람이 직접 코드를 번경하는 것이 아니라 프로그램이 자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 취급하며 프로그램을 작성·수정하는 것을 말한다 데코레이터에 의해 클래스기능이 변형되는 시점은 run-time이다. 프로그램이 실행되는 동안에 ..

prototype(프로토타입)과 객체지향 프로그래밍: Typescript Decorator를 위한 Javascript(자바스크립트) 사전지식

Prototype?(프로토타입)의 의미 사전적 의미: proto: 원래의, 원시적인 + type: 형태, 유형, 카테고리 prototype: 원래의 형태, 원형, 임시 모델 Prototype in javascript(자바스크립트, 이하 JS): 객체의 특징, 행동에 대한 정보를 포함하고 있는 Object(오브젝트)이다. class를 이용하여 객체지향을 구현하는 다른 프로그래밍 언어와는 차별화되는 JS만의 독특한 요소이다. 원시타입(number, string, boolean, undefined, null)을 제외한 모든 JS의 요소들은 프로토타입을 가지고 있다. array(배열), object(오브젝트), fuction(함수) 같은 컴포넌트들은 이미 정의되어 있는 프로토타입을 청사진으로 삼아 생성된다. 내..