[typescript] 타입스크립트 열거형(Enum)과 클래스의 관계

타입스크립트는 클래스 및 열거형(Enum)과 같은 고급 개념의 사용을 지원하여 강력한 기능을 제공합니다. 열거형(Enum)은 특정 값 집합을 정의하고 이름을 부여하는 데 사용되며, 클래스의 속성으로 사용될 수 있습니다.

이제 열거형(Enum)과 클래스의 관계를 살펴보겠습니다.

열거형(Enum)을 클래스 내에서 사용하기

타입스크립트 클래스 내에서 열거형(Enum)을 사용하는 것은 간단합니다. 아래는 열거형(Enum)을 클래스 내에서 사용하는 예시입니다.

enum Color {
    Red,
    Green,
    Blue
}

class Shape {
    color: Color;

    constructor(color: Color) {
        this.color = color;
    }
}

let square = new Shape(Color.Red);

위의 코드에서 Shape 클래스는 Color와 같은 열거형(Enum)을 속성으로 사용합니다. 이렇게 함으로써 Color에 정의된 값 중 하나를 선택하여 Shape 인스턴스를 생성할 수 있습니다.

클래스 내에 정적 메서드를 통한 열거형(Enum) 사용

클래스 내에 정적 메서드를 사용하여 열거형(Enum) 값을 반환할 수도 있습니다. 아래는 이러한 예시입니다.

enum Direction {
    Up,
    Down,
    Left,
    Right
}

class Utility {
    static getOppositeDirection(direction: Direction): Direction {
        switch (direction) {
            case Direction.Up:
                return Direction.Down;
            case Direction.Down:
                return Direction.Up;
            case Direction.Left:
                return Direction.Right;
            case Direction.Right:
                return Direction.Left;
            default:
                throw new Error('Invalid direction');
        }
    }
}

위의 예시에서 Utility 클래스는 Direction 열거형(Enum)을 이용하여 getOppositeDirection 메서드를 통해 역방향을 반환합니다.

결론

타입스크립트에서 열거형(Enum)은 클래스 내에서 속성으로 사용되거나 정적 메서드에서 사용될 수 있습니다. 이러한 유연성은 코드를 읽기 쉽고 유지보수하기 쉽게 만들어주며, 타입스크립트의 강점 중 하나입니다.

이러한 기능들을 활용하여 타입스크립트 클래스와 열거형(Enum)을 조합하여 강력한 소프트웨어 솔루션을 개발하는 데 활용할 수 있습니다.

참고 자료: