코틀린 기본

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") //<-- 참조가 가리키는 객체 내부를 변경한다.