안드로이드 개발을 시작하시는 여러분, 정보가 너무 많고 배워야 할 것도 산더미라 어디서부터 시작해야 할지 막막하신가요? 내일배움캠프 수료생들이 4개월 동안 배운 엄선된 핵심 개념을 직접 정리해서 알려 드립니다. 공부하다 막히거나 헷갈리는 개념이 있다면 개념 콕으로 정리해보세요.
형 변환 (Type Casting)이란?
어떤 값의 데이터 타입을 다른 데이터 타입으로 변환하는 것을 말합니다. Kotlin은 모든 값을 객체로 관리하기 때문에 Kotlin에서의 형 변환은 다른 클래스 타입의 객체로 변환하는 클래스 캐스팅을 말합니다.
클래스 캐스팅 종류
업 캐스팅(up casting)과 다운 캐스팅(down casting)이 있습니다.
업 캐스팅이란?
하위 클래스 타입의 객체를 상위 클래스 타입의 객체로 변환(축소)하는 것을 말합니다. 업 캐스팅을 통해 다형성을 제공할 수 있습니다.
다운 캐스팅이란?
상위 클래스 타입의 객체를 하위 클래스 타입(원본 타입)의 객체로 변환(확장)하는 것을 말합니다. Kotlin은 클래스 캐스팅을 위해 as 연산자와 is 연산자를 제공하는데요.
첫 번째, as 연산자는 객체를 지정된 클래스 타입으로 변환하는 연산자입니다. as 연산자로 형 변환이 발생한 객체는 변환된 타입을 유지합니다.
두 번째, is 연산자는 형 변환이 가능하면 변환을 하고 true를 반환하는 연산자입니다. 일반적으로 if 문의 조건문으로 사용하며, if 문 내에서 변환된 타입이 유지되고, if 문에서 나가게 되면 형 변환되기 전 타입으로 돌아갑니다.
// 부모 클래스 open class Person(){ fun greet() = println("안녕하세요.") } // 지식 클래스 class Dancer():Person(){ fun dance() = println("둠칫둠칫") } // 자식 클래스 class Singer():Person(){ fun sing() = println("룰루랄라") } fun main() { val dancer1 = Dancer() val dancer2 = Dancer() val singer1 = Singer() val singer2 = Singer() val people = mutableListOf<Person>() // as 연산자를 사용해, // 자식 클래스를 부모 클래스로 업 캐스팅 people.add(dancer1 as Person) people.add(dancer2 as Person) people.add(singer1 as Person) people.add(singer2 as Person) people.forEach{ // is 연산자를 사용해, // 부모 클래스를 자식 클래스(원본 클래스)로 다운 캐스팅 if(it is Dancer){ it.dance() } if(it is Singer){ it.sing() } } }
내일배움캠프는 개발에 필요한 핵심만 배웁니다
지금까지 꼭 필요한 안드로이드 개발 지식에 대해 알아보았습니다. 내일배움캠프에서는 전문가들이 선별한 핵심 개발 지식으로 개발 공부도, 취업도 보다 효율적으로 할 수 있는데요. 국내 유수의 IT기업 출신 튜터님들과 실습 위주의 독보적인 커리큘럼으로 개발자 취업을 체계적으로 준비해보세요. 내일배움캠프 4개월, 여러분 인생의 가장 큰 터닝 포인트입니다.
CREDIT
글 | 이선주 내일배움캠프 수료생
편집 | 정효재 팀스파르타 에디터
취업 준비, 어디서부터 시작해야 할지 모르겠다면?
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
Share article
Subscribe to our newsletter