코틀린 기본
2018, Jun 08
함수
//간단한 예제
fun main(args: Array<String>) {
println("Hello, wolrd!")
}
- 함수를 선언할 때 fun 키워드를 사용한다.
- 파라미터 이름 뒤에 그 파라미터의 타입을 쓴다.
s:String
- 함수를 최상위 수준에 정의할 수 있다. 꼭 클래스 안에 함수를 넣어야 할 필요가 없다.
- System.out.println대신에 println이라고 쓴다.
코틀린 표준 라이브러리
: 코틀린에서는 표준 자바 라이브러리 함수를 간결하게 사용할 수 있게 감싼 래퍼wrapper를 제공한다.
println도 그런 함수 중 하나다.- 최신 프로그래밍 언어 경향과 마찬가지로 줄 끝에 세미클론(;)을 붙이지 않아도 좋다.
- 반환하는 변수가 있는 함수의 경우 함수 description끝에 콜론(:)을 붙이고 반환타입을 명시해야 한다.
fun max(a: Int, b: Int): Int {
return if(a >b) a else b
}
식이 본문인 함수
위와 같은 식을 중괄호를 없애고 등호(=)를 붙여 본문이 식으로만 이루어진 함수로 표현할수 있다.
이와 같이 본문이 식으로만 이루어진 함수를식이 본문인 함수 라고 부르고,
중괄호{}로 둘러싸인 함수를블록이 본문인 함수 라고 한다.
변수
- 타입 추론 : 컴파일러가 타입을 분석해 프로그래머 대신 프로그램 구성 요소의 타입을 정해주는 기능.
코틀린은 타입추론을 지원한다.
//타입 표기 생략
val question = "질문"
val answer = 42
//타입 명시
val answer: Int = 2
- val(값을 뜻하는 valu에서 따옴) - 변경 불가능한(immutable) 변수 선언
-
var(변수를 뜻하는 variable에서 따옴) - 변경 가능한(mutable) 변수 선언
val 참조 자체는 불면일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있다.
val languages = arrayListOf("Java")
languages.add("kotlin") //<-- 참조가 가리키는 객체 내부를 변경한다.