상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 코틀린의 패턴 매칭은 어떻게 이루어지나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
코틀린(Kotlin)에서의 패턴 매칭은 주로 `<a href='https://sangseek.com/sangseeks/when/ko'>when</a>` 표현식을 통해 이루어집니다. `when`은 조건에 따라 다양한 경우를 처리할 수 있는 강력한 도구로, 여러 조건을 간결하게 표현할 수 있게 해줍니다. 코틀린의 `when`은 다른 언어의 switch 문과 유사하지만, 더 많은 기능과 유연성을 제공합니다. 1. <a href='https://sangseek.com/sangseeks/기본 사용법/ko'>기본 사용법</a> `when` 표현식은 특정 값에 대해 여러 조건을 검사하고, 해당 조건이 참일 때 실행할 코드를 정의합니다. 기본적인 사용법은 다음과 같습니다: ```kotlin val x = 5 when (x) { 1 -> println("x는 1입니다.") 2 -> println("x는 2입니다.") 3 -> println("x는 3입니다.") 4, 5 -> println("x는 4 또는 5입니다.") else -> println("x는 1, 2, 3, 4, 5가 아닙니다.") } ``` 위의 예제에서 `when`은 변수 `x`의 값에 따라 다른 메시지를 출력합니다. `4, 5`와 같이 여러 값을 한 조건으로 묶을 수도 있습니다. 2. 조건식 사용 `when`은 특정 값뿐만 아니라 조건식도 사용할 수 있습니다. 예를 들어, 다음과 같이 조건을 직접 정의할 수 있습니다: ```kotlin val y = 10 when { y < 0 -> println("y는 음수입니다.") y in 1..10 -> println("y는 1에서 10 사이입니다.") else -> println("y는 10보다 큽니다.") } ``` 이 경우, `when`은 각 조건을 평가하여 참인 경우에 해당하는 블록을 실행합니다. 3. 타입 검사와 스마트 캐스팅 코틀린에서는 `when`을 사용하여 타입을 검사하고, 조건이 참일 경우 자동으로 타입을 캐스팅하는 스마트 캐스팅 기능을 제공합니다. 예를 들어: ```kotlin fun printLength(obj: Any) { when (obj) { is String -> println("문자<a href='https://sangseek.com/sangseeks/열의/ko'>열의</a> 길이: ${obj.length}") is Int -> println("정수: $obj") else -> println("알 수 없는 타입") } } ``` 위의 예제에서 `is` 키워드를 사용하여 객체의 타입을 검사하고, 해당 타입일 경우 자동으로 캐스팅하여 사용할 수 있습니다. 4. 여러 조건을 결합하기 `when` 표현식에서는 여러 조건을 결합하여 사용할 수 있습니다. 예를 들어: ```kotlin val number = 15 when { number % 2 == 0 -> println("짝수입니다.") number % 2 != 0 && number > 10 -> println("10보다 큰 홀수입니다.") else -> println("10 이하의 홀수입니다.") } ``` 이와 같이 복잡한 조건을 조합하여 사용할 수 있습니다. 5. `when`을 표현식으로 사용하기 코틀린의 `when`은 표현식으로 사용할 수 있어, 결과 값을 반환할 수 있습니다. 예를 들어: ```kotlin val result = when (x) { 1 -> "하나" 2 -> "둘" else -> "기타" } println(result) // "기타"가 출력될 수 있음 ``` 이 경우, `when` 표현식의 결과가 `result` 변수에 저장됩니다. 6. `when`과 Enum 클래스 `when`은 Enum 클래스와 함께 사용할 때도 유용합니다. Enum을 사용하면 코드의 가독성을 높이고, 타입 안전성을 보장할 수 있습니다. ```kotlin enum class Direction { NORTH, SOUTH, EAST, WEST } fun getDirectionMessage(direction: Direction) { when (direction) { Direction.NORTH -> println("북쪽으로 가세요.") Direction.SOUTH -> println("남쪽으로 가세요.") Direction.EAST -> println("동쪽으로 가세요.") Direction.WEST -> println("서쪽으로 가세요.") } } ``` 결론 코틀린의 패턴 매칭은 `when` 표현식을 통해 다양한 조건을 간결하고 명확하게 처리할 수 있는 강력한 기능을 제공합니다. 기본적인 값 비교부터 조건식, 타입 검사, Enum 사용까지 다양한 방식으로 활용할 수 있어, 코드의 가독성과 유지보수성을 높이는 데 기여합니다. 이러한 특성 덕분에 코틀린은 현대적인 프로그래밍 언어로서 많은 개발자들에게 사랑받고 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기