상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
인삼의 원산지를 확인하는 방법은 무엇인가요?
인삼의 구매 후 보관 방법은 무엇인가요?
형사사건에서의 법적 절차의 투명성은 어떻게 보장되나요?
형사소송의 재판 절차는 어떻게 진행되나요?
형사소송에서의 증언 거부권은 무엇인가요?
신경치료의 최신 연구 동향과 발전 사항은 무엇인가요?
치아 파절의 원인은 무엇인가요?
치아 파절의 진단 과정에서 무엇을 주의해야 하나요?
치아 파절을 예방하기 위한 생활 습관에는 어떤 것들이 있나요?
이사에 필요한 물건을 정리하는 가장 좋은 방법은 무엇인가요?
라식 수술의 소요 시간은 얼마나 되나요?
라식 수술의 단계별 과정은 어떻게 되나요?
Previous
Next
수정하기 - 타입스크립트에서 클래스의 사용법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
타입스크립트(TypeScript)는 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트의 상위 집합으로, 정적 타입을 지원하여 코드의 안정성과 가독성을 높이는 데 도움을 줍니다. 타입스크립트에서 클래스는 객체 지향 프로그래밍(OOP)의 기본 개념 중 하나로, 객체를 생성하기 위한 <a href='https://sangseek.com/sangseeks/청사진/ko'>청사진</a>을 제공합니다. 클래스는 속성과 메서드를 정의할 수 있으며, 이를 통해 객체를 생성하고 관리할 수 있습니다. 클래스의 기본 구조 타입스크립트에서 클래스는 `class` 키워드를 사용하여 정의합니다. 기본적인 클래스 구조는 다음과 같습니다: ```typescript class Person { // 속성 정의 name: string; age: number; // <a href='https://sangseek.com/sangseeks/생성자/ko'>생성자</a> constructor(name: string, age: number) { this.name = name; this.age = age; } // 메서드 정의 <a href='https://sangseek.com/sangseeks/greet/ko'>greet</a>() { console.log(`안녕하세요, 제 이름은 ${this.name}이고, 나이는 ${this.age}<a href='https://sangseek.com/sangseeks/세입/ko'>세입</a>니다.`); } } ``` 위의 예제에서 `Person` 클래스는 `name`과 `age`라는 두 개의 속성을 가지고 있으며, 생성자를 통해 이 <a href='https://sangseek.com/sangseeks/속성들/ko'>속성들</a>을 초<a href='https://sangseek.com/sangseeks/기화/ko'>기화</a>합니다. `greet` 메서드는 객체가 인사하는 기능을 수행합니다. 클래스 인스턴스 생성 클래스를 정의한 후, 해당 클래스를 기반으로 인스턴스를 생성할 수 있습니다. 인스턴스는 클래스의 구체적인 구현체로, 각 인스턴스는 고유한 속성 값을 가질 수 있습니다. ```typescript const person1 = new Person("홍길동", 30); const person2 = new Person("김철수", 25); person1.greet(); // 안녕하세요, 제 이름은 홍길동이고, 나이는 30세입니다. person2.greet(); // 안녕하세요, 제 이름은 김철수이고, 나이는 25세입니다. ``` 접근 제<a href='https://sangseek.com/sangseeks/어자/ko'>어자</a> 타입스크립트는 클래스의 속성과 메서드에 대해 접근 제어자를 지원합니다. 주요 접근 제어자는 `public`, `private`, `protected`입니다. - `public`: 기본값이며, 클래스 외부에서도 접근할 수 있습니다. - `private`: 해당 클래스 내부에서만 접근할 수 있습니다. - `protected`: 해당 클래스와 상속받은 클래스에서만 접근할 수 있습니다. ```typescript class Animal { private species: string; protected age: number; constructor(species: string, age: number) { this.species = species; this.age = age; } public getSpecies(): string { return this.species; } } class Dog extends Animal { constructor(age: number) { super("개", age); } public bark() { console.log(`나는 ${this.age}세의 ${this.getSpecies()}입니다.`); } } const dog = new Dog(5); dog.bark(); // 나는 5세의 개입니다. ``` 상속 타입스크립트에서는 클래스 간의 상속을 통해 코드의 재사용성을 높일 수 있습니다. `extends` 키워드를 사용하여 부모 클래스를 상속받을 수 있습니다. ```typescript class Vehicle { constructor(public brand: string) {} honk() { console.log("빵빵!"); } } class Car extends Vehicle { constructor(brand: string, public model: string) { super(brand); } displayInfo() { console.log(`차량 브랜드: ${this.brand}, 모델: ${this.model}`); } } const myCar = new Car("현대", "아반떼"); myCar.honk(); // 빵빵! myCar.displayInfo(); // 차량 브랜드: 현대, 모델: 아반떼 ``` <a href='https://sangseek.com/sangseeks/추상 클래스/ko'>추상 클래스</a> 추상 클래스는 직접 인스턴스를 생성할 수 없으며, 다른 클래스에서 상속받아 사용해야 합니다. 주로 공통된 속성과 메서드를 정의하고, 구체적인 구현은 자식 클래스에서 제공하도록 강제할 때 사용됩니다. ```typescript abstract class Shape { abstract area(): number; // <a href='https://sangseek.com/sangseeks/추상 메서드/ko'>추상 메서드</a> displayArea() { console.log(`면적: ${this.area()}`); } } class Rectangle extends Shape { constructor(private width: number, private height: number) { super(); } area(): number { return this.width * this.height; } } const rectangle = new Rectangle(10, 5); rectangle.displayArea(); // 면적: 50 ``` 정적 메서드와 속성 정적 메서드와 속성은 클래스 인스턴스가 아닌 클래스 자체에 속합니다. `static` 키워드를 사용하여 정의합니다. ```typescript class MathUtil { static add(x: number, y: number): number { return x + y; } } console.log(MathUtil.add(5, 10)); // 15 ``` 결론 타입스크립트에서 클래스는 객체 지향 프로그래밍의 핵심 개념을 구현할 수 있는 강력한 도구입니다. 클래스의 속성, 메서드, 접근 제어자, 상속, 추상 클래스 및 정적 메서드와 속성을 통해 복잡한 애플리케이션을 구조화하고 관리할 수 있습니다. 타입스크립트를 사용하면 코드의 가독성과 유지보수성을 높일 수 있으며, 타입 시스템 덕분에 런타임 오류를 줄일 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기