타입스크립트 기초 -4

Stulta Amiko·2022년 5월 26일
0

타입스크립트 기초

목록 보기
4/24
post-thumbnail

객체와 클래스

클래스 선언

타입스크립트는 다른 객체지향언어에서 있는 클래스를 가지고있다.
클래스의 선언방식은 다음과같다.

class class_name{
   access modifier key : type
}

이런식으로 선언한다.
다른 클래스의 선언방법과 많이 다르지 않다
접근지정자는 설정해줄수 있으나 따로 설정하지 않으면 public이다.

클래스를 생성하는 예시를 보자

생성자

class Person2{
    constructor(public name:string,public age?:number) { }
}

let jack : Person2 = new Person2('Jack',29)
console.log(jack)

실행결과
Person2 { name: 'Jack', age: 29 }

다른 언어의 클래스 선언과 별로 다르지않은 모습을 볼 수 있다.
생성자의 경우 C++혹은 자바와같은 언어와는 다른모습이지만
자바스크립트일때는 두방법 다 사용가능한걸로 알고있다.
쨋든 저런방법도 가능하다

타입스크립트에서의 생성자는 생성자에서 클래스를 선언할 수 있다.
그러니 클래스를 따로 선언하고 생성자를 선언한후 객체를 생성하는것이 아닌
클래스의선언과 객체의생성을 한번에 할 수 있다는것이다.

인터페이스 구현

다음과같은 방식으로 구현한다.

class class_name implements interface_name{
     
}

예제로 정확히 보자

interface IPerson4{
    name: string,
    age: number,
}

class Person4 implements IPerson4{
    name: string
    age: number
}

이런식으로 구현할 수 있다.

추상 클래스

abstract를 이용해서 추상클래스를 만들 수 있다.

abstract class class_name{
    abstract key : type
    abstract method_name( ) { }
}

상속

abstract class IPerson5{
    abstract name:string
    constructor(public age?: number) { }
}

class Person5 extends IPerson5{
    constructor(public name: string, age?: number){
        super(age)
    }
}

let jack5 : Person5 = new Person5('jack',43)
console.log(jack5)

이런식으로 상속을 한다.
위에 추상클래스와 묶어서 사용하는것을 볼 수 있다.
그리고 부모클래스의 생성자는 super로 불러올 수 있다.

실행결과
Person5 { age: 43, name: 'jack' }

이런식으로 나온다.

0개의 댓글