무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유),
불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
1. 형변환
•
변수에 담긴 값이나 객체를 다른 형태로 변환하는 것을 의미한다.
•
Kotlin은 모든 값을 객체로 관리하기 때문에 Kotlin에서의 형변환은 다른 클래스 타입의 객체로 변환하는 것을 의미한다.
•
자식 클래스 타입으로의 변환
•
부모 클래스 타입으로의 변환
•
다른 자료형 타입으로의 변환
•
null 허용과 null 불허용 간의 변환
2. 스마트 캐스팅
•
특정 조건을 만족하면 자동으로 형변환이 발생하는 개념이다.
•
스마트 캐스팅 기능 덕분에 형변환에 대해 개발자가 크게 신경을 쓰지 않아도 된다.
•
형 변환은 객체의 클래스 타입이 아닌 객체의 주소 값을 가지고 있는 참조 변수의 타입이 변경되는 것이다.
3. 객체 타입 변환
•
객체의 타입 변환은 상속관계나 구현한 인터페이스 타입에 해당한다.
•
부모 클래스 타입으로의 형 변환
•
자식 클래스 타입으로의 형 변환
•
구현한 인터페이스 타입으로의 형 변환
•
인터페이스를 구현한 클래스 타입으로의 형 변환
4. as 연산자
•
객체를 지정된 클래스 타입으로 변환하는 연산자이다.
•
참조변수 as 클래스타입
•
만약 객체가 지정된 클래스타입과 관계가 없을 경우 오류가 발생한다.
•
형 변환이 발생한 참조 변수는 변환된 타입을 유지한다.
5. is 연산자
•
형 변환이 가능하면 변환을 하고 true를 반환한다.
•
if 문으로 구성하여 사용하며 if 문 내에서만 변환된 타입을 사용하고 if 문을 나가게 되면 변환되기 전의 타입으로 다시 변경된다.
6. Any 타입
•
Kotlin은 모든 클래스가 직접 혹은 간접적으로 Any 클래스를 상속받는다.
•
따라서 모든 객체의 주소 값은 Any 타입 참조 변수에 담을 수 있다.
•
Any 타입과 is 연산자를 활용하여 다양한 타입의 객체에 대응할 수 있는 코드를 만들 수 있다.
7. 기본 타입의 형 변환
•
Kotlin 에서는 기본 타입을 관리하는 객체의 타입을 변경하는 메서드를 제공한다.
•
참조 변수의 타입이 변경되는 것이 아닌 새로운 객체가 생성되어 반환된다.
•
toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar()
8. 학습 정리
정리
•
Kotlin은 상황에 따라 자동으로 타입을 변경할 수 있는 스마트 캐스팅을 지원한다.