inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

타입과 형변환

int, string?

271

찹쌀약과

작성한 질문수 1

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 타입인 건가요??

kotlin 자료형

답변 2

2

인프런 AI 인턴

안녕하세요, 인프런 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 에 대한 설명이 미약한것 같습니다ㅜㅜ

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

코트린 심화 학습

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