티스토리 뷰
반응형
Typescript는 객체지향 프로그래밍 언어이며, 클래스와 인터페이스를 사용할 수 있습니다.
클래스
클래스는 객체를 생성하기 위한 일종의 템플릿으로, 클래스를 정의하면 객체를 생성할 때 사용할 수 있는 속성과 메서드가 정의됩니다.
아래는 Typescript에서 클래스를 정의하는 예시입니다.
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello() {
console.log(`안녕하세요, ${this.name}입니다. ${this.age}살입니다.`);
}
}
const person = new Person('홍길동', 20);
person.sayHello(); // "안녕하세요, 홍길동입니다. 20살입니다."
위의 코드에서 Person 클래스는 name과 age라는 두 개의 속성과 sayHello라는 메서드를 가지고 있습니다. 객체를 생성할 때 name과 age를 인자로 전달하여 속성을 초기화하고 sayHello 메서드를 호출할 수 있습니다.
인터페이스
인터페이스는 객체의 형태를 정의하는 일종의 규칙으로, 인터페이스를 구현한 객체는 인터페이스에서 정의한 속성과 메서드를 반드시 구현해야 합니다.
아래는 Typescript에서 인터페이스를 정의하는 예시입니다.
interface Person {
name: string;
age: number;
sayHello(): void;
}
class Korean implements Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
sayHello() {
console.log(`안녕하세요, ${this.name}입니다. ${this.age}살입니다.`);
}
}
const person: Person = new Korean('홍길동', 20);
person.sayHello(); // "안녕하세요, 홍길동입니다. 20살입니다."
위의 코드에서 Person 인터페이스는 name과 age라는 두 개의 속성과 sayHello라는 메서드를 가지고 있습니다.
Korean 클래스는 Person 인터페이스를 구현하고 있으며,
name과 age를 초기화하고 sayHello 메서드를 구현하고 있습니다.
마지막으로 Person 타입으로 Korean 객체를 생성하여 sayHello 메서드를 호출할 수 있습니다.
반응형
'타입스크립트' 카테고리의 다른 글
타입스크립트 Class Decorator (0) | 2023.03.17 |
---|---|
타입스크립트 Readonly 속성 (0) | 2023.03.17 |
TypeScript 함수 시그니처란? (0) | 2023.03.17 |
타입스크립트 별칭과 인터섹션 (0) | 2023.03.16 |
타입스크립트 네임스페이스와 모듈 (0) | 2023.03.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- highcharts
- 호이안역사
- 라이브러리
- Method Decorator
- 정보구조 설계 방법
- 어려움 극복
- 인터페이스
- 작업팁
- 메뉴 및 내비게이션 설계
- 시안 및 프로토타입 작성
- Property Decorator
- 시각적 디자인
- Parameter Decorator
- 타입스크립트 변수
- 변화주기
- html
- 콘텐츠 매핑
- 클래스
- 자기개발
- 당당해지기
- decorator
- 호이안수공예
- 피드백 수집 및 개선
- 커피숖창업
- 사용자 중심 설계
- 경청하는자세
- 공부잘하는법
- typescript 사용해야하는 이유
- 업무잘하는버
- TypeScript Guard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함