이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
TypeScript의 클래스: TypeScript의 객체 지향 프로그래밍
TypeScript는 개발자가 객체 지향 프로그래밍(OOP) 개념을 사용하여 코드를 작성할 수 있도록 하는 JavaScript의 상위 집합입니다. TypeScript에서 클래스는 OOP의 필수 부분이며 이를 통해 개발자는 속성과 메서드가 있는 개체를 만들 수 있습니다.
이 기사에서는 TypeScript의 클래스와 이를 사용하여 객체를 만드는 방법을 살펴봅니다. 또한 OOP의 두 가지 중요한 개념인 상속과 다형성에 대해서도 살펴보겠습니다.
TypeScript에서 클래스를 만들려면 class
키워드 뒤에 클래스 이름을 사용합니다. 예를 들어:
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
위의 예에서는 name
과 age
라는 두 가지 속성이 있는 Person
클래스를 만들었습니다. 또한 name
과 age
라는 두 개의 매개변수를 받는 생성자를 정의했습니다. 생성자는 name
및 age
값을 해당 속성에 할당합니다.
우리는 또한 사람의 이름과 나이를 포함하는 메시지를 콘솔에 기록하는 greet()
메서드를 정의했습니다.
클래스를 만든 후에는 클래스에서 개체를 만들 수 있습니다. 개체를 만들려면 new
키워드 다음에 클래스 이름 및 생성자에 필요한 인수를 사용합니다. 예를 들어:
const person1 = new Person('John', 30);
person1.greet(); // logs "Hello, my name is John and I am 30 years old."
위의 예에서 이름이 "John"이고 연령이 30인 person1
이라는 Person
개체를 만들었습니다. 그런 다음 콘솔에 메시지를 기록하는 person1
에서 greet()
메서드를 호출했습니다. .
상속은 기존 클래스를 기반으로 새 클래스를 만들 수 있는 OOP의 핵심 개념입니다. 새 클래스는 기존 클래스의 모든 속성과 메서드를 상속하며 새 속성과 메서드를 추가하거나 기존 항목을 재정의할 수 있습니다.
기존 클래스에서 상속하는 클래스를 만들려면 extends
키워드 다음에 상속하려는 클래스의 이름을 사용합니다. 예를 들어:
class Employee extends Person {
salary: number;
constructor(name: string, age: number, salary: number) {
super(name, age);
this.salary = salary;
}
greet() {
console.log(`Hello, my name is ${this.name}, I am ${this.age} years old, and my salary is ${this.salary}.`);
}
}
위의 예에서는 Person
클래스에서 상속되는 Employee
클래스를 만들었습니다. Employee
클래스에는 salary
라는 새 속성이 있으며 메시지에 급여를 포함하도록 greet()
메서드를 재정의했습니다.
또한 생성자에서 super()
메서드를 호출하여 Person
클래스의 생성자를 호출하고 name
및 age
매개변수를 전달했습니다.
다형성은 단일 인터페이스를 사용하여 여러 유형을 나타낼 수 있는 OOP의 또 다른 중요한 개념입니다. TypeScript에서는 상속과 인터페이스를 통해 다형성을 달성할 수 있습니다.
다형성을 보여주기 위해 Person
클래스에서 상속하는 또 다른 클래스를 만들어 보겠습니다.
class Student extends Person {
grade: string;
constructor(name: string, age: number, grade: string) {
super(name, age);
this.grade = grade;
}
greet() {
console.log(`Hello, my name is ${this.name}, I am ${this.age} years old, and I am in grade ${this.grade}.`);
}
}
위의 예에서는 Person
클래스에서 상속하는 Student
클래스를 만들었습니다. Student
클래스에는 grade
라는 새 속성이 있으며 메시지에 성적을 포함하도록 greet()
메서드를 재정의했습니다.
이제 Employee
와 Student
를 포함하는 Person
개체의 배열을 만들어 보겠습니다.
const people: Person[] = [
new Employee('John', 30, 50000),
new Student('Jane', 20, 'A')
];
위의 예에서 Employee
및 Student
를 포함하는 Person
개체의 배열을 만들었습니다. Employee
와 Student
는 모두 Person
에서 상속되기 때문에 Person
인터페이스를 사용하여 두 유형을 모두 나타낼 수 있습니다.
그런 다음 배열의 각 객체에 대해 greet()
메서드를 호출할 수 있습니다.
people.forEach(person => {
person.greet();
});
이렇게 하면 다음 메시지가 콘솔에 기록됩니다.
Hello, my name is John, I am 30 years old, and my salary is 50000.
Hello, my name is Jane, I am 20 years old, and I am in grade A.
이 기사에서는 TypeScript의 클래스와 이를 사용하여 객체를 만드는 방법을 살펴보았습니다. 또한 OOP의 두 가지 중요한 개념인 상속과 다형성에 대해서도 살펴보았습니다.
TypeScript는 OOP 개념을 지원하므로 복잡한 애플리케이션을 구축하기 위한 강력한 언어입니다. 클래스, 상속 및 다형성을 마스터하면 보다 유지 관리 및 확장 가능한 코드를 작성할 수 있습니다.