언어(Language)/Kotlin

[Kotlin] 2-1. 코틀린의 자료형과 변수 선언 (자료형의 종류 및 변수 선언 방법과 규칙)

잇트루 2022. 7. 11. 18:19
반응형

자료형과 변수

자료형

프로그래밍 언어에서는 기본형 자료형과 참조형 자료형이 존재합니다. 기본형 자료형이란 가공되지 않은 순수한 자료형으로 프로그래밍 언어에 내장된 자료형입니다. 참조형 자료형은 동적 공간에 데이터를 둔 다음에 이를 참조하는 자료형을 뜻합니다.

 

자바 언어에서는 boolean, char, int, double 등 논리형, 문자형, 정수형, 실수형 자료형은 기본형 자료형을 사용하고 String, Date, 클래스, 인터페이스, 배열, Enum 등 참조형 자료형을 사용하여 기본형, 참조형 자료형을 모두 사용하는 언어입니다.

 

하지만, 코틀린 언어는 모든 자료형이 참조형 자료형입니다. 따라서 논리형, 문자형, 정수형, 실수형 등의 자료형 또한 참조형 자료형입니다. 동적 공간에 객체 형태로 자료형을 만들어 이를 참조하는 것으로 사용됩니다.

 

코틀린의 자료형

정수형

자료형 크기 범위
Byte 1Byte -128 ~ 127
Short 2Byte -32768 ~ 32767
Int 4Byte -2147483648 ~ 2147483647
Long 8Byte -9223372036854775808 ~ 9223372036854775807
UByte 1Byte 0 ~ 255
UShort 2Byte 0 ~ 65535
UInt 4Byte 0 ~ 4294967295
ULong 8Byte 0 ~ 18446744073709551615

 

실수형

자료형 크기 범위
Float 4Byte 1.4E-45 ~ 3.4028235E38
Double 8Byte 4.9E-324 ~ 1.7976931348623157E308

 

그 외 자료형

자료형 설명
Boolean 논리 자료형으로 true 또는 false를 반환함
Char 문자 자료형으로 작은 따옴표('') 사이 한 글자를 저장함 ex)'a', '가', '1' 등
String 문자열 자료형으로 큰 따옴표("") 사이의 문자들을 저장함 ex)"abcd", "가나다라", "1234" 등

 

정수형 실수형 범위 쉽게 확인하기

fun main() {
	// 부호가 있는 정수형
    println("Byte: ${Byte.MIN_VALUE}~${Byte.MAX_VALUE}")
    println("Int: ${Int.MIN_VALUE}~${Int.MAX_VALUE}")
    println("Short: ${Short.MIN_VALUE}~${Short.MAX_VALUE}")
    println("Long: ${Long.MIN_VALUE}~${Long.MAX_VALUE}")
    
    // 부호가 없는 정수형
    println("UByte: ${UByte.MIN_VALUE}~${UByte.MAX_VALUE}")
    println("UInt: ${UInt.MIN_VALUE}~${UInt.MAX_VALUE}")
    println("UShort: ${UShort.MIN_VALUE}~${UShort.MAX_VALUE}")
    println("ULong: ${ULong.MIN_VALUE}~${ULong.MAX_VALUE}")
    
    // 실수형
    println("Float: ${Float.MIN_VALUE}~${Float.MAX_VALUE}")
    println("Double: ${Double.MIN_VALUE}~${Double.MAX_VALUE}")
}

 

 

변수

변수의 선언 방법

val 변수명: 자료형 = 값 // 불변형 변수
var 변수명: 자료형 = 값 // 가변형 변수

코틀린에서는 기본적으로 val과 var 두 가지 변수 선언 방법이 있습니다. val은 value의 약자로 불변형(immutable) 변수입니다. 따라서 val은 선언된 변수는 읽기만 가능한 변수로 변하지 않는 성질을 가지고 있습니다. 자바의 final 변수와 같은 성질을 가지고 있다고 볼 수 있습니다.

그와 반대로 var은 variable의 약자로 가변형(mutable) 변수입니다. var은 읽기와 쓰기가 가능한 변수로 선언된 변수의 값은 언제든지 바뀔 수 있습니다. 선언 후 다른 값으로 선언하거나 연산을 통해 값을 변경할 수 있습니다.

 

잘못된 변수 선언

// #1 불변형 변수는 값 수정이 불가능하다.
val name: String = "Kotlin" // 불변형 변수
name = "IT is True" // 수정이 불가능함!

// #2 자료형을 지정하지 않은 상태로 변수를 선언할 수 없다.
var name

 

변수 선언 예

// #1 일반적인 변수 선언
var name: String = "Kotlin"

// #2 변수 선언 후 값 지정
var name: String
name = "Kotlin"

// #3 String형으로 자동 추론
var name = "Kotlin"

 

변수 선언 규칙

1. 변수 이름은 123abc와 같이 숫자로 시작하면 안 됩니다.

2. 변수 이름은 while, if, when 등과 같이 코틀린 내부에서 사용되는 키워드는 사용할 수 없습니다.

3. 변수 이름은 사용 용도에 따라 의미 단어로 만드는 것이 좋습니다.(a, b, c, d -> name, number, student, rank)

4. 여러 단어를 사용하여 변수 이름을 만들 경우 카멜 표기법을 사용합니다.

 

카멜 표기법이란?

낙타(Camel)의 혹처럼 생긴 이름이라 하여 불리는 표기법으로 단어의 첫 글자를 대문자로 표기하는 명명법입니다. 카멜 표기법은 첫 단어의 첫 글자는 소문자로 표기하는 카멜 표기법과 첫 단어의 첫 글자도 대문자로 표기하는 파스칼 표기법이 있습니다.

 

  • 일반 변수, 함수명은 카멜 표기법을 사용
    • userName, bookNumber, firstName, classNumber 등

 

  • 클래스, 인터페이스 등의 이름은 파스칼 표기법을 사용
    • BookCategory, CarName, CityName 등
반응형