그럼 이제 myAge가 Integer에 저장되지 않아야 하는데 그 이유는
Byte의 최대 값이
127인데 제가 127살보다 더 오래 살 것 같지 않기 때문입니다
그러니까 myAge를 저장할 때 애초에 20억 같은 큰 수가 필요 없다는
것입니다
따라서 저장 공간을 아끼기 위해 데이터 종류를 바꿔보도록 하겠습니다
Byte면 충분합니다
대문자 B를 사용해 주어야 합니다
그럼 이제 myAge의 데이터 종류는 Byte가 되었습니다
그래서 myAge에 마우스를 올려보면 종류가 Byte라고 나옵니다
그럼 이 println()도 자동으로 제가 전달하는 변수가 Byte라는 것을 알게 됩니다
println()이 Byte를 잘 출력하는지 재실행하여 확인해 보겠습니다
똑같은 결과가 보이고 잘 동작하는 것 같습니다
하지만 이제 제가 수동적으로 데이터 종류를 정의했기 때문에 데이터 종류가 바뀐 상태입니다
자
이제 문제는 Kotlin만의 규칙이 있다는 것입니다
여러분이 할당한 데이터를 기반으로 어떤 종류의 데이터로 다뤄야 할지
알고 있습니다
이전에 살펴봤듯이 직접 종류를 지정하지 않는 이상 기본적으로 숫자들은 Int로 저장됩니다
그리고 그것보다 숫자가 커지면 자동으로 Long을 사용합니다
만약 제가 이런 식으로 아주 긴 숫자를 입력한다고 해봅시다
그러면 보시다시피 myAge는 자동으로 Long이 됩니다
좋습니다 더 이상 Int가 아닙니다
숫자 몇 개를 지워보도록 하겠습니다
그러면 숫자가
3천만인가요?
3천5백만 정도입니다
그 정도입니다
다시 종류가 Int로 바뀌었습니다
그러니까 Kotlin은 여러분이 할당한 숫자를 기반으로 어떤 종류를 사용할지 알아서 추론하는 것입니다
그러면 이제 myAge가 Integer로 고정이 되었습니다
하지만 만약 나중에 제가 이보다 긴 숫자를 사용하려고 하면 이것이 초기에 Integer로 고정되어 있기 때문에
Long 데이터를 저장할 수 없습니다
좋습니다
이것을 주의해야 합니다
나중에라도 Long을 사용하고 싶으면 여기서 미리 정의를 해두어야 에러가 발생하지 않습니다
자
그러니까 여러분이 기억해두셔야 할 것은 무엇이냐면 S
아무리 정수의 값을 사용한다고 해도
이를 위해 여러 데이터 종류들이 있습니다
기본적으로 정수들은 Int로 저장이 됩니다
하지만 그 숫자에 다른 범위를 지정하고 싶다면 데이터 종류를 직접
정의해야 합니다
Long, Int, Byte 등이 있습니다
그리고 Short이라는 종류도 있습니다
이것 보다는 작은 수를 다루는데
자세한 내용은 공식 문서를 확인해 보겠습니다
Short은 -32768에서 32767까지의 숫자를 다룬다고 합니다
그러면 숫자를 3만대의 숫자로 줄여보면 문제가 없습니다
당연하게도 여기 있는 이 큰 숫자는 괜찮지 않습니다
어쨌든 이런 식으로 직접 데이터 종류를 정의하는 것입니다
그러지 않으면 알아서 추론하여 지정해 줍니다
이번 영상은 여기까지였습니다
다음 영상에서 뵙겠습니다