-
[Kotlin] 코틀린 기초 - 함수, 변수Computer Science/Kotlin 2021. 1. 17. 00:55
함수와 변수
- 함수를 선언할 때 fun 키워드를 사용함
- 파라미터 이름 뒤에 그 파라미터의 타입을 작성
- 함수를 최상위 수준에 정의할 수 있음, 꼭 클래스 안에 함수를 넣을 필요가 없음
- 배열도 일반적인 클래스와 똑같음. 자바처럼 배열처리를 위한 문법이 따로 존재하지 않음
- System.out.println 대신에 println이라고 쓴다
- 세미콜론(;)을 붙이지 않아도 된다
함수
- 함수의 반환 타입은 파라미터 목록의 닫는 괄호 다음에 위치, :로 구분해야 한다
- 코틀린에서 if는 결과를 만드는 식이다.
식이 본문인 함수
- 함수 본문이 if식 하나로만 이루어져 있는 경우, 중괄호를 없애고, return을 제거하고 =를 식 앞에 붙이면 간결하게 함수를 표현할 수 있음.
- 식이 본문인 함수에서는 사용자가 반환 타입을 적지 않아도 컴파일러가 타입을 추론하여 실행시켜 준다
변수
- 코틀린에서는 키워드로 변수 선언을 시작하는 대신 변수 이름 뒤에 타입을 명시하거나 생략하게 허용한다
- 초기화 식을 사용하지 않고 변수를 선언하려면 변수 타입을 반드시 명시해야 함
변경 가능한 변수와 변경 불가능한 변수
- val : 변경 불가능한 참조를 저장하는 변수, 자바의 final
- var : 변경 가능한 참조, 자바의 일반 변수
- val로 선언한 변수 answer1은 값을 변경하려 하자 에러가 발생
- 기본적으로 모든 변수를 val 키워드를 사용해 불변 변수로 선언하고, 나중에 필요할 때만 var로 변경하는 것이 좋다
- val 참조 자체는 불변이지만, 그 참조가 가리키는 객체 내부의 값은 변경될 수 있다.
var 키워드를 사용하면 변수의 값은 변경할 수 있지만, 변수의 타입은 고정되어 바뀌지 않는다
Int 타입 answer에 문자열을 대입하려 해서 에러 발생
문자열 템플릿
- 여러 스크립트 언어들처럼 코틀린에서도 변수를 문자열 안에서 사용 가능
- $ 뒤에 변수명을 넣어서 사용함
- 존재하지 않는 변수를 문자열 템플릿 안에서 사용하면 컴파일 오류가 발생함
- 변수명이 아닌 복잡한 식을 넣으려면 중괄호({})로 둘러싸서 넣을 수 있음
- 왠만하면 {}를 붙이는 습관을 들이는게 좋다, 가독성도 그렇고 한글 관련 에러도 있기 때문
'Computer Science > Kotlin' 카테고리의 다른 글
[Kotlin] 함수 정의와 호출 (0) 2021.01.19 [Kotlin] 코틀린 기초 - 반복문 (0) 2021.01.17 [Kotlin] 코틀린 기초 - 제어문 (0) 2021.01.17 [Kotlin] 코틀린 기초 - 클래스, 프로퍼티 (0) 2021.01.17 [Kotlin] 코틀린이란 무엇이고 왜 필요할까 (0) 2021.01.17