1. 주석처리
- 힌줄짜리 주석 : //로 시작하여 줄이 끝나면 주석도 끝난다.
- 여러 줄 주석 : /*로 시작하고 */로 끝난다.
- KDoc 여러 줄 주석 : /**로 시작하고 */로 끝난다.
- 자바와 달리 코틀린에서는 여러 줄 주석을 내포시킬 수 있다.
2. 변수 정의하기
val timeInSeconds = 15
- val 키워드 : 값을 뜻하는 value에서 유래했다.
- 변수 식별자 : 새 변수에 이름을 부여하고, 나중에 이를 가리킬 때 사용한다.
- 변수의 초깃값을 정의하는 식 : = 기호 뒤에 온다.
💡자바와 다른 점
변수 정의 뒤에 세미콜론(;)을 붙이지 않았다. 코틀린에서는 줄 끝에 새미 콜론을 생략해도 된다.
📕타입 추론
대부분의 경우 컴파일러가 코드의 문맥에서 타입을 도출해주는 언어 기능.
->코틀린은 강한 타입 지정 언어인 동시에 사용자가 불필요한 타입 정보를 코드에 추가해서 코드가 지저분해지는 일을 막을 수 있다.
📕지역 변수 타입 추론
var text = "Hello";
->자동으로 text의 타입을 String으로 추론한다.
📕타입 명시
var n: Int = 100
val text: String = "Hello"
이러한 경우 초깃값이 지정한 타입에 속해야 한다.
val n : Int = "HELLO"
->int형을 String value로 할당하기 때문에 오류가 발생한다.
📗항상 변숫값을 읽기 전에 변수를 초기화해야 한다!
3. 식별자
변수나 함수 등 프로그램에 정의된 대상에 붙은 이름.
코틀린에서 식별자는 두 가지 형태로 구분된다.
📕첫 번째 형태는 자바 식별자와 비슷하며 다음 규칙을 만족하는 임의의 문자열
- 식별자는 오직 문자, 숫자, 밑줄 문자(_)만 포함한다. 숫자로 식별자를 시작할 수는 없다.
- 밑줄로만 이뤄질 수도 있다. 하지만 이런 식별자(_,__,___등)는 모두 미리 예약된 식별자이므로 일반적인 식별자로는 사용될 수 없다.
- 하드 키워드를 식별자로 쓸 수는 없다.
- 하드 키워드(val, fun 등)는 코드 어디에 있든 키워드로 간주된다.
- 소프트 키워드(import 등)는 특별한 문맥에서만 키워드로 간주되고, 그런 문맥이 아닌 경우에는 일반적인 식별자로 쓰일 수 있다.
자바와 달리 코틀린 식별자에는 기호($)를 쓸 수없다.
📕두 번째 형태는 작은 역 따옴표(`)로 감싼 식별자로, 두 작은역 따옴표 사이에는 빈 문자열을 제외한 아무 문자열이나 와도 된다
val `fun` = 1
val `name with spaces`= 2
작은역따옴표 인용 부호로 묶인 실벼자 안에는 새 줄 문자나 작은 역 따옴표가 올 수 없다.
4. 가변 변수
지금 까지 살펴본 변수는 불변 변수다.
불변 변수는 한번 초기화하면 다시는 값을 대입할 수 없는 변수다.(자바의 final 변수와 유사함)
불변 변수를 사용하면 함수가 부수효과를 일으키지 못하고, 함수형 스타일 코드를 장려할 수 있으며, 이로 인해 코드에 대한 추론이 쉬워지기 때문에 가능하면 불변 변수를 많이 사용하는 게 좋다!
가변 변수의 정의는 val(불변 변수) 키워드 대신 var(가변 변수)를 사용해서 정의할 수 있다.
기본적인 문법은 같지만 원할 때 변수 값을 얼마든지 바꿀 수 있다는 점이 다르다.
=(대입) 기호를 사용해서 정의함.
var sum=1
sum=sum+2
sum=sum+3
변수의 값을 바꿀 순 있지만 변수의 타입을 못 바꾼다는 것을 유의하자!
5. 식과 연산자
- 각 타입에 속하는 구체적인 값을 표현하는 리터 털(12,3.56)
- 변수/프로 피터 참조와 함수 호출(a.readLine(), "Abc". length, "12". toInt())
- 전위와 후위 단항 연산(-a, ++b, c--)
- 이항 연산(a+b, 2*3 , x <1)
'Skils > Kotlin' 카테고리의 다른 글
[Kotlin] 함수란? (0) | 2022.08.07 |
---|---|
[Kotlin] array(배열) (0) | 2022.08.07 |
[Kotlin] char & String (0) | 2022.07.30 |
[Kotlin] 코틀린 생태계 (0) | 2022.07.21 |
[kotlin] 코틀린이란 무엇일까? (0) | 2022.07.21 |