이번 글에서는 코틀린에서의 변수와 자료형에 대해서 알아보도록 합시다.
변수
변수란, 기본적으로 어떠한 데이터를 집어넣을 수 있는 특정한 공간을 이야기합니다.
물건을 집어넣는 상자를 예로 들면 이해하기 쉬울 것입니다.
이 상자에는 물건을 넣을 수 있고, 넣은 물건을 빼서 사용할 수 있습니다.
또, 안에 들어있는 물건을 바꿀 수도 있겠죠.
코틀린에서 변수를 선언하는 방법은 두 가지로 나눠집니다.
1. var : 일반적으로 말하는 변수로, 언제든지 값을 읽고 쓸 수 있으며, 바꿀 수 있습니다.
2. val : 선언 후 한 번만 초기화 할 수 있으며, 이후에는 내부의 값을 변경할 수 없습니다.
이렇게 두 가지로 나눠져 있는데, val같은 경우 한 번 정해지면 바뀌면 안 되는 값을 저장할 때 사용합니다.
예를 들어 홍길동이라는 사람이 있다고 가정해봅시다.
이 사람은 자신의 이름인 홍길동은 자신이 원한다면 변경할 수가 있습니다.
반면, 이 사람이 태어나서 기록된 주민등록번호는 마음대로 변경할 수 없으며, 변경되서도 안되죠.
따라서 이름의 경우 변수에 저장하고, 주민등록번호의 경우 상수에 저장할 수 있는 겁니다.
자, 이렇게 실제로 REPL환경에서 위와 같은 코드를 입력해서 실행시키려 하면 residentNum변수에 밑줄이 그어지고,
val변수는 변경될 수 없다는 메시지가 출력되면서 실행이 되지 않습니다.
기본적으로 코틀린에서 변수를 선언하는 방법은 var 또는 val키워드를 맨 앞에 붙여서
var 변수명: 자료형 = 데이터와 같이 선언할 수 있습니다. 이때 데이터는 굳이 선언 시에 초기화하지 않아도 됩니다.
여기서 초기화란 변수를 선언한 뒤, 처음으로 그 값을 입력하는 것을 의미합니다.
//변수 선언 방법
var 변수명: 자료형 = 데이터 //초기화
//또는
var 변수명: 자료형
변수명 = 데이터 //초기화
자료형
다음으로 넘어가서 자료형에 대해 이야기해봅시다.
우리가 사는 세상에서 기본적으로 상자에는 정해진 크기가 있습니다.
따라서 그 크기를 넘는 물건은 상자에 담을 수가 없지요.
변수도 마찬가지로 상자에 정해진 크기가 있으며, 그 크기를 넘는 값은 변수에 저장할 수가 없습니다.
또한 물건의 종류에 따라 담아내는 상자의 종류도 달라져야 할 것입니다.
그래서 변수에 저장하려는 데이터, 즉 물건에 따라 상자(변수)의 종류를 지정해주어야 합니다.
예를 들어 1리터의 물을 500리터짜리 병에 담을 수는 없을 것이고, 이 물을 종이상자에 담아낼 수도 없을 겁니다.
따라서 물(데이터)을 담기 위한 적절한 크기의 상자(변수)를 준비해야만 합니다.
이렇게 들어가는 데이터에 따라서 지정되는 변수의 종류를 '자료형'이라고 합니다.
기본적으로 코틀린에서 사용되는 자료형에는 다음과 같은 것들이 있습니다.
문자형 - Char(2Byte), String
문자형 자료형은 말 그대로 문자를 저장하기 위한 자료형입니다.
문자형 자료형은 Char라는 자료형이 있으며, 코틀린의 경우 문자를 유니코드 인코딩 방식으로 관리하고 있습니다.
이 Char형은 하나의 문자당 2Byte공간을 차지하며, 문자들이 모여서 만들어지는 것을 '문자열'이라고 이야기합니다.
var charVar: Char = '가'
Char형으로 변수를 선언할 때는 위와 같은 형태를 가지며, 입력하려는 데이터는 꼭 작은따옴표(')로 감싸주셔야 합니다.
유니코드에서는 이러한 문자들만 표현하는 것이 아니고, 특정한 목적을 가지는 특수문자도 지원하고 있습니다.
1. \t - tap키를 누른 것과 동일한 동작, 출력 시 사용됨
2. \b - backspace를 누른것과 동일한 동작, 출력 시 사용됨
3. \r - 첫 열로 커서를 옮김, 출력 시 사용됨
4. \n - 개행, 다음 줄로 커서를 옮김, 출력 시 사용됨
5. \' - 작은따옴표 자체를 출력함.
6. \" - 큰 따옴표 자체를 출력함.
7. \\ - 역 슬래시 자체를 출력함.
8. \$ - $문자 자체를 출력함.
9. \uxxx - 유니코드 문자를 출력함.
일단 특수문자는 이 정도로 이야기할 수 있습니다.
또한 여러 개의 문자를 합친 '문자열'을 저장하기 위한 자료형은 따로 String이라는 자료형을 사용합니다.
문자열의 경우 데이터를 입력할 때 큰 따옴표(")로 묶어주셔야 합니다.
또한 한 줄이 아닌 여러 줄로 문자열을 입력하고 싶을 때에는 큰 따옴표 세 개(""")로 데이터를 묶어줍니다.
논리형 - Boolean(1Bit)
논리형은 말 그대로 논리 값을 저장하는 자료형입니다.
여기서 말하는 논리 값은 true or false, 즉 참 또는 거짓을 의미합니다.
따라서 Boolean자료형은 기본적으로 데이터가 true또는 false값을 가져야 합니다.
만약 이 두 값이 아닌 다른 값이 입력되면 오류가 발생하니 주의하시길 바랍니다.
Boolean자료형의 경우 해당 값이 true인지 false인지 확인하는 용도로 사용되는데,
이때 변수의 이름을 주로 용도에 따라 isXXXX라고 짓는 경우가 많습니다.
숫자형
다음으로 숫자형의 경우 말 그대로 숫자를 저장하기 위한 자료형입니다.
크게 정수를 저장하기 위한 정수형, 실수를 저장하기 위한 실수형으로 다시 나뉘는데,
자신이 저장하고 싶은 데이터에 따라 크기와 종류를 골라서 사용하시면 됩니다.
정수형 - Byte(1Byte), Short(2Byte), Int(4Byte), Long(8Byte)
정수형 자료형은 Byte, Short, Int, Long의 네 가지가 있는데, 각각 크기에 맞춰서 사용하시면 됩니다.
정수형 데이터의 경우 코틀린에서 크게 3가지 종류로 리터럴을 표현할 수 있습니다.
여기서 리터럴이란 쉽게 말해서 코드 내에서 표기되는 값 자체를 의미합니다.
예를 들면 Int자료형의 경우 데이터를 1234와 같은 형태로 입력하는데,
Long자료형의 경우 데이터를 1234L과 같이 입력합니다. 여기서 1234, 1234L이 리터럴이 되는 것입니다.
다시 돌아와서, 코틀린에서 정수형 값을 표현하는 세 가지 방법에 대해서 알아봅시다.
1. 10진수
기본적으로 사용되는 진법으로 그냥 값만 써주시면 됩니다.
2. 16진수
16진수로 표현하기 위해서는 16진수 값 앞에 0x를 붙여주셔야 합니다.
3. 2진수
2진수로 표현하기 위해서는 2진수 값 앞에 0b를 붙여주시면 됩니다.
코틀린에서 정수형의 기본 자료형은 Int입니다. 따라서 그냥 정수 데이터는 Int로 인식되고,
Long형 데이터를 입력하려면 리터럴 맨뒤에 L를 붙여주셔야 합니다.
실수형 - Float(4Byte), Double(8Byte)
실수형 자료형은 Float과 Double두 가지가 있는데, Double이 기본 자료형이 됩니다.
따라서 그냥 실수 데이터는 Double로 인식되고, Float형 데이터를 입력하려면 리터럴 맨 뒤에 F를 붙여주셔야 합니다.
이렇게 코틀린, 그리고 그 외의 프로그래밍 언어에서는 사용하려는 변수의 용도에 따라서
그에 맞는 자료형이 사용되어야 합니다. 이상으로 변수와 자료형에 대해서 알아봤습니다.
이번 글은 이 정도록 마치도록 하겠습니다.
감사합니다.
'프로그래밍 언어 > 코틀린' 카테고리의 다른 글
코틀린 6. 함수 (0) | 2020.12.21 |
---|---|
코틀린 5. 배열 (0) | 2020.12.21 |
코틀린 4. 타입추론과 형변환 (0) | 2020.12.21 |
코틀린 2. 개발환경 구축 (0) | 2020.12.20 |
코틀린 1. 코틀린 개요 (0) | 2020.12.17 |