20. 형 변환

2022. 3. 8. 18:13[Android APP] feat. Kotlin/Kotlin 언어 기초

형변환(Type casting)이란?

 

하나의 변수에 지정된 자료형을 이와 호환되는 다른 자료형으로 변경하는 기능이다.

 

형변환 함수에는 

toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar()가 있다.

 

============================================================================

 

아래 코드를 살펴보자.

리스트를 생성하려면 listOf를 사용하면 된다.

stringList라는 리스트를 만들어준다. 이 리스트는 String형만 저장할 수 있는 리스트이다.

두 번째 리스트는 "Any"키워드를 사용해 여러 타입으로 만든 리스트이다. Double, Int, String 등 여러 값을 넣어봤다.

 

for 루프에서 mixedTypeList의 값이 각각 Int형일 때, Double형일 때, String형일 때를 is키워드를 사용하여 같다면 나눠서 분류해준다.

 

이 코드을 when으로도 똑같이 작성할 수 있다.

============================================================================

 

스마트 변환

obj1은 Any형이고, String형으로 값이 들어있다.

아래 조건문 (String이 아니면 Not a String 출력)을 실행했을 때 값이 String일 때의 조건으로 잘 출력되는 것을 알 수 있다.

============================================================================

unsafe 변환

 

as 키워드를 사용하여 실행시키면 에러가 발생한다.

객체는 Any타입인데 뒤 값이 스트링이 아닌 정수이기 때문에 발생하는 에러이다.

따라서 아래처럼 널러블 스트링으로 safe변환을 해주면 형변환이 완료된다.

 

safe변환

 

as?키워드 사용

반응형

'[Android APP] feat. Kotlin > Kotlin 언어 기초' 카테고리의 다른 글

22. 배열  (0) 2022.03.09
21. 컬렉션의 개요  (0) 2022.03.09
19. 추상 클래스  (0) 2022.03.08
18. 인터페이스  (0) 2022.03.07
17. 상속과 오버라이딩  (0) 2022.03.07