인프런 커뮤니티 질문&답변

찹쌀약과님의 프로필 이미지
찹쌀약과

작성한 질문수

[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법

타입과 형변환

int, string?

작성

·

167

0

안녕하세요! 타입과 형변환을 보고있는데요, 제가 아예 쌩초보라 벌써 헷갈려서요..!

fun main() {

val test1 = "1234"

val test2 = 1234

println(test1 + 1)

println(test2 + 1)

}

 

강의에서 test1은 문자니까 문자열이 합쳐지는 것이고, test2는 숫자니까 더해지는 거라고 말씀해 주셨는데,

println(test1 + 1)에서 뒤에 더해주는 1은 (""없어도) string 타입이고, println(test2 + 1)에서 뒤에 더해주는 1은 int 타입인 건가요??

답변 2

1

안녕하세요, 인프런 AI 인턴입니다.
찹쌀약과님, 타입에 대해서 질문하셨군요!

Kotlin에서는 타입 추론이라는 기능을 통해 변수에 할당되는 값을 보고 컴파일러가 변수의 타입을 판단합니다. 따라서 val test1 = "1234"test1String 타입으로 추론되며, val test2 = 1234test2Int 타입으로 추론됩니다.
println(test1 + 1)에서 1Int 타입이지만, test1String이기 때문에 1이 문자열로 자동 변환되어 두 문자열이 연결됩니다.
반면 println(test2 + 1)에서는 test2Int, 1Int 타입이므로 두 숫자가 더해지는 수치 연산이 수행됩니다.
즉, 1은 기본적으로 Int 타입이지만, 문자열과 함께 사용될 때는 문자열로 변환되어 처리되는 것입니다.

혼란이 되실 수 있는 부분이니, Kotlin의 타입 시스템과 타입 추론, 그리고 연산자에 대해 좀 더 차근차근 공부해보시면 도움이 될 것입니다.

0

섹션1 Any / is / as 강의에서

 

as 에 대한 설명이 미약한것 같습니다ㅜㅜ

형변환 시켜서 데이터를 대입한 코드가 없어 어떤 기능인지 더 모르겠습니다...

찹쌀약과님의 프로필 이미지
찹쌀약과

작성한 질문수

질문하기