2022. 3. 15. 17:35ㆍLet's Kotlin
코틀린 기본문법을 알아보려한다, 안드로이드 스튜디오에서 스크래치 파일을 하나 만들어 주고 바로바로 결과를 보는식으로 빠르게 배워나갈 예정이다.
- 코틀린 기본 1 -
변수와 상수 선언
변수란 말 그대로 변하는 수, 보통 코딩할 때는 값을 어떠한 방식으로 저장하여 사용하는데, 변수는 저장된 수가 나중에라도 재선언하면 바뀔 수 있는 수이다.
상수란 항상 같은 값을 가지는 수이다, 예컨데 수학에서의 3.1415...를 PI라고 지정하여 바뀌지 않듯 코딩에서도 그러한 수를 선언할 수 있다
코틀린에서 변수와 상수는 var(val) 변수명 : 자료형 = 값 으로 선언한다. 문맥상 자료형이 추론가능하다면 자료형 생략도 가능하다
예시)
val pi : Double = 3.14 -- 자료형 생략 -- val pi = 3.14
var num1 : int = 5 -- 자료형 생략 -- val num5 = 5
val name : String = "Nerd" -- 자료형 생략 -- val name = "Nerd"
아까 말했듯 var은 변수라 값을 재선언 해주면 다시 변수명에 값을 저장하고 재활용할 수 있지만 val은 그렇지 않다, 그래서 val에 값을 재할당 시키면 재활용되지 않고 오류메세지를 볼 수 있다.
val pi = 3.14
pi = 3.33 // 오류 Val cannot be reassigned - Val은 재할당 할 수 없다는 오류결과
그렇기에 어떠한 변수명을 가지고 값을 변경하고 싶다면 변수로 값을 선언해야 한다 - var로!
var age = 21
println(age) // 결과 : 21
age = 23 // age값을 재할당
println(age) // 결과 : 23
코틀린 기본 자료형
프로그래밍 언어는 어떠한 자료를(값을) 저장할 때, 자료형이라는 것을 통해서 컴퓨터 메모리를 효율적으로 사용할 수 있도록 설정해준다. 코틀린에서 자료형은 크게 기본 자료형과 참조 자료형 두 가지로 나뉜다.
기본 자료형 - 순수하게 값을 저장하는 자료형 - ex. int, byte, boolean 등
참조 자료형 - 객체를 만들고 변수에 객체의 참조값을 저장 - String, Array 등
실수의 경우 자료형을 명시하지 않으면 Double형이 되는데, Float 자료형으로 저장하고 싶다면 값 뒤에 'f'를 붙여주면 된다
val numDouble : Double = 3.2 -- 자료형 : Double
val num = 3.2 -- 자료형 : Double
val numFloat : Float = 3.2f -- 자료형 : Float
코틀린 문자 자료형은 문자 하나를 표현하는 Char 형과 문자열을 표현하는 String형으로 나눌 수 있다
그리고 논리자료형으로 Boolean도 저장할 수 있으며 그 변수 값으로 true, false를 넣을 수 있다
그리고 코틀린에서 배열을 만드는 자료형으로 Array가 있다. 배열을 만드는 방법은 arrayOf()라는 함수를 사용하면 되며 배열을 만든 이후에는 연산자 []를 이용해 배열 요소에 접근할 수 있다
val stringArray : Array<String> = arrayOf("donky", "zebra", "giraffe")
val intArray = arrayOf(1, 3, 5) // 자료형 생략 가능하며 각각의 수가 0번째 부터 시작해 0, 1, 2 번째로 저장된다
println(stringArray[1]) // stringArray에서 1번째 값을 가져와 출력한다 -- 출력결과 : "zebra"
println(intArray[0]) // intArray에서 0번째 값을 가져와 출력한다 -- 출력결과 : 1
명시적 형변환
변환될 자료형을 직접 변환시키는 것이 명시적 형변환이라고 하는데 예를 들어 Int로 저장된 1을 String으로 형변환하여 "1"로 저장하는 것을 말한다
val pi = 3.14 // double로 저장된 pi
val piString = pi.toString() // String 형으로 저장하는 pi
코틀린에서의 함수 선언은 다음과 같은 문법을 따른다
fun 함수명 (매개변수) : 반환 자료형 {
// 실행할 코드 내용
}
예를 들어 이름을 출력하는 함수를 만들어 보자
fun printName(name : String) : Unit {
println(name)
}
여기서 Unit은 반환 자료형을 적은 것으로서, 생략할 수 있다
fun printName(name : String) {
println(name)
}
반환 자료형을 생략할 수 있는 경우는 안타깝게도 한정적인데, 반환 자료형이 Unit일 때와 단일 표현식 함수일때만 가능하다. 단일 표현식 함수란 실행할 코드가 표현 식 하나로 이루어진 함수를 말한다
fun addNum(a : Int, b : Int) : Int {
return a + b
}
// 매개변수 a, b를 받아 더해주는 addNum함수 선언
println(addNum(5, 5)) // 결과 : 10
단일표현식 함수의 예시)
fun minusNum(a : Int, b : Int) = a-b
// 이렇게 표현 식 하나로 이루어진 함수는 반환 자료형 생략가능하다 - 형추론으로 자기들끼리 자료형을 추론할 수 있기에
문자열 템플릿
코틀린에서 문자열 탬플릿은 $ 모양의 달러화 표시가 있으면 되고, 조금 더 길게 표현할 경우 ${}에서 괄호 내에 그 내용을 넣으면 된다
예를 들자면)
val price = 3000
val tax = 300
val originalPrice = "The original price is $price"
val totalPrice = "The total price is ${price + tax}"
println(originalPrice) // 결과값 : The original price is 3000
println(totalPrice) // 결과값 : The total price is 3300
즉, 변수명으로 지정된 단어를 String으로 표현하려 할 시, 변수가 표현이 안되는 경우를 방지하기 위해 $표시로 감싸준다고 생각하면 된다
'Let's Kotlin' 카테고리의 다른 글
Kotlin 기본문법 - 4 (0) | 2022.03.16 |
---|---|
Kotlin 기본문법 - 3 (0) | 2022.03.16 |
Kotlin 기본문법 - 2 (0) | 2022.03.15 |
kotlin(시작) (0) | 2022.03.15 |