int, string?
271
작성한 질문수 1
안녕하세요! 타입과 형변환을 보고있는데요, 제가 아예 쌩초보라 벌써 헷갈려서요..!
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
2
안녕하세요, 인프런 AI 인턴입니다.
찹쌀약과님, 타입에 대해서 질문하셨군요!
Kotlin에서는 타입 추론이라는 기능을 통해 변수에 할당되는 값을 보고 컴파일러가 변수의 타입을 판단합니다. 따라서 val test1 = "1234"는 test1이 String 타입으로 추론되며, val test2 = 1234는 test2가 Int 타입으로 추론됩니다.
println(test1 + 1)에서 1은 Int 타입이지만, test1이 String이기 때문에 1이 문자열로 자동 변환되어 두 문자열이 연결됩니다.
반면 println(test2 + 1)에서는 test2도 Int, 1도 Int 타입이므로 두 숫자가 더해지는 수치 연산이 수행됩니다.
즉, 1은 기본적으로 Int 타입이지만, 문자열과 함께 사용될 때는 문자열로 변환되어 처리되는 것입니다.
혼란이 되실 수 있는 부분이니, Kotlin의 타입 시스템과 타입 추론, 그리고 연산자에 대해 좀 더 차근차근 공부해보시면 도움이 될 것입니다.
코트린 심화 학습
0
42
2
마지막에서 Int = 20의 의미
0
49
1
키보드관련 문제
0
141
1
인터페이스에 대한 질문입니다
0
252
1
질문
1
198
1
9:20초 쯤 나오는 init은 클래스안에서 공통으로 쓰이는 건가요?
0
291
1
when 버전으로도 알려주세요!
0
222
1
for 문 밖에서의 list 타입의 차이점
0
259
2
Object
0
281
1
작은 값 찾기, 이렇게는 왜 안 되나요?
0
430
1
알파벳 숫자 세기, mutableMap value 값 변경
0
432
1
kotlin enum class
0
376
1
fun query(request: String) ="결과 query $request"질문입니다.
0
294
1
고차함수 7:43분 관련 질문입니다.
1
234
1
코틀린은 map int 밸류값에 ++ 안 되나요?
0
447
2
Unit
0
334
1
Bike() 클래스 와 Bike 클래스의 차이
0
293
1
새로운 변수를 만드는 것이 좋나요?
0
243
1
it 이 정확히 무엇인가요?
0
367
1
ArrayList와 mutableListOf의 차이점
0
1088
1
데이터 타입 Int, Long 에 대한 커버 가능 범위 참고 링크
0
310
1
ArrayList랑 mutableListOf가 차이점이 있나요?
0
376
1
수업자료는 어디서 볼 수있나요~
0
612
1
val mutableListOf
2
326
1





