[typescript] TypeScript 클래스
이 기술 블로그에서는 TypeScript에서 클래스를 사용하는 방법에 대해 다뤄보겠습니다.
목차
- TypeScript 클래스 소개
- 클래스 선언
- 생성자
- 접근 제어자
- 상속
- 정적 메서드
- 추상 클래스
- 마무리
1. TypeScript 클래스 소개
TypeScript는 객체지향 프로그래밍을 지원하고, 클래스를 사용하여 객체를 모델링하고 관리할 수 있습니다.
2. 클래스 선언
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name} and I am ${this.age} years old`;
}
}
let person1 = new Person('Alice', 30);
console.log(person1.greet());
3. 생성자
생성자는 클래스의 인스턴스를 생성하고 초기화하는 역할을 합니다. TypeScript에서 생성자는 constructor
키워드를 사용하여 정의합니다.
4. 접근 제어자
class Animal {
private name: string;
public constructor(name: string) {
this.name = name;
}
public move(distanceInMeters: number) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
위 예제에서 private
키워드는 name
멤버 변수를 클래스 내부에서만 접근할 수 있도록 합니다.
5. 상속
class Employee extends Person {
salary: number;
constructor(name: string, age: number, salary: number) {
super(name, age);
this.salary = salary;
}
introduce() {
return `${this.name} is ${this.age} years old and earns ${this.salary} per month`;
}
}
위 예제는 Employee
클래스가 Person
클래스를 상속하는 예시입니다.
6. 정적 메서드
class MathUtil {
static PI: number = 3.14;
static calculateCircumference(radius: number) {
return 2 * this.PI * radius;
}
}
console.log(MathUtil.calculateCircumference(5));
static
키워드를 사용하여 정적 메서드와 속성을 선언할 수 있습니다.
7. 추상 클래스
abstract class Animal {
abstract makeSound(): void;
move(): void {
console.log('roaming the earth...');
}
}
abstract
키워드를 사용하여 추상 클래스와 메서드를 선언할 수 있습니다.
8. 마무리
TypeScript를 사용하여 객체지향 프로그래밍을 구현하는 방법에 대해 알아보았습니다. 클래스를 효율적으로 활용하여 유연하고 구조화된 코드를 작성할 수 있습니다.
참고 문헌:
이상으로 TypeScript 클래스에 대한 간단한 소개를 마치도록 하겠습니다. 코드 작성 중 궁금한 점이 있으면 언제든지 물어보세요!