본문 바로가기
Swift/기초

33. 스위프트 기초 문법[Type(2) - Enumeration]

by UDDT 2025. 2. 7.

Swift/기초 카테고리에 업로드한 모든 내용은 KxCoding 기초 강의를 토대로 작성하였습니다.

 

 

⎮ Enumeration (열거형)

  - 열거형 : 연관되어 있는 상수(Enumeration Case)들을 하나의 Type으로 묶은 Type

  - 구조체와 Class보다는 제한적인 상황에서 사용

  - 코드의 가독성이 높아지고, 안정성이 높아짐

 

  1. 열거형 문법

enum TypeName {
    case caseName
    case caseName, caseName
}

/*
열거형의 이름은 UppercamelCase로 작성
{}에는 1개 이상의 enumeration case 작성
case 이름을 선언할 때는 lowerCamelCase로 작성, 이름은 중복될 수 없음.
여러 case를 한번에 선언하고 싶을 때는 ','를 써서 사용해도 됨
열거형 안에도 생성자, method 등을 추가할 수 있으나 대부분 사용하지 않음.
열거형 case는 독립적인 값
*/
// 문단 정렬 예시
enum Alignment {
    case left
    case center
    case right
}

Alignment.center
// 생성자 문법 : enumeration name.case name

var textAlignment = Alignment.center
textAlignment = .left

/* 
textAlignment에 열거형을 저장했기 때문에 컴파일러가 인식할 수 있음.
오타를 내거나 case 외의 값을 작성하면 에러가 나기 때문에 안정성이 확보됨
*/

 

⎮ 코드 개선하기

  1. 가독성이 좋지 않은 코드

//가독성이 좋지 않은 코드

/*
왼쪽 정렬 0
가운데 정렬 1
오른쪽 정렬 2
*/

let left = 0
let center = 1
let right = 2

var alignment = center

/* 
이 코드에서 주석이 만약 없다면 코드를 이해할 수 없음
또한 left의 값에 123을 저장해도 에러가 발생하지 않기 때문에, 안정성이 떨어지는 코드임
*/

 

  2. 값을 바꿔 가독성 높이기

let left = "left"
let center = "center"
let right = "right"

var alignment = center

/*
문자열으로 설정하면 오타가 발생할 수 있고,
대소문자를 구분하기 때문에 어떻게 표기할지 정해야함
*/

 

  3. 열거형을 사용하여 안전성 높이기

enum Alignment {
    case left
    case center
    case right
}

 

  4. 생성자 문법으로 인스턴스 만들기

Alignment.left
// 생성자 문법 : enumeration name.case name

 

  5. 새로운 변수를 만들어 저장, 값 바꿔보기

var textAlignment = Alignment.center
textAlignment = .left

/*
값을 바꿀 때 열거형 이름을 생략하고 열거형 케이스(.case)만 써도 됨
textAlignment에 열거형을 저장했기 때문에 컴파일러가 인식할 수 있음
오타를 내거나 case 외의 값을 작성하면 에러가 나기 때문에 안정성이 확보됨
*/

 

최근댓글

최근글

skin by © 2024 ttuttak