반응형
Notice
Recent Posts
Recent Comments
Link
불로구
[코틀린 기초]6. 자료형 (2) 본문
반응형
자료형 검사
- 변수의 자료형을 알아내는 방법은 is 키워드를 사용한다.
fun main(){
val a = 127;
val b = "abcd";
if(a is Int){
println("인티져");
}
if(b is String){
print("문자열");
}else if(b !is String){
print("문자열 아님");
}
}
Any
- 코틀린에서 Any는 자료형을 결정하지 않은채 변수를 선언할 수 있다.
- Any는 코틀린의 최상위 기본 클래스로 어떠한 자료형을 표현할 수 있다.
- is와 사용하여 자료형을 검사하면, 검사한 자료형으로 스마트 캐스트가 된다.
fun main(){
val a : Any;
a = "abcd";
if(a is String){
println("스트링");
}
}
묵시적 변화
- Any형은 모든 클래스의 뿌리이므로 Int, String, 사용자 지정클래스 모두 Any의 자식 클래스이다.
- 즉, 코틀린의 모든 클래스는 Any형이라는 슈퍼 클래스를 가진다
- 자바의 Object의 개념을 생각해보면 도움이 된다.
fun main(){
var a : Any = 10
a = 150L
println("a: $a type: ${a.javaClass}")
}
//결과
a: 150 type: long
- 10을 가진 Int형을 150L로 변경하면 Long형으로 변환된다.
- javaClass는 어떤 기본형을 가지고 있는지 출력할 수 있다.
- 함수를 통해서 만들어 보자.
fun main(){
sol("abcd")
sol(123)
}
fun sol(data : Any){
if(data is String) {
println("data is String : $data")
}else if(data is Int){
println("data is Int: $data")
}
}
반응형
'프로그래밍 > 코틀린' 카테고리의 다른 글
[코틀린 기초] 9. 함수형 프로그래밍(2) (0) | 2021.02.15 |
---|---|
[코틀린 기초] 8. 함수형 프로그래밍 (0) | 2021.02.14 |
[코틀린 기초] 5. 자료형 비교 & 변환 (0) | 2021.02.09 |
[코틀린 기초] 4. 코틀린 NULL (0) | 2021.02.09 |
[코틀린 기초] 3. 코틀린 자료형 (0) | 2021.02.08 |
Comments