2.1 코틀린 기초 / 기본 요소 : 함수와 변수

2.1.1 Hello, World!

func main(args:Array<String>){
println("Hello World!")
}

모든 언어를 배울 때 국룰인 "Hello World" 출력해봤다.

여기서 알 수 있는 것들

  • 함수를 선언할 때 fun 키워드를 사용한다. (function)
  • 파라미터 이름 뒤에 그 파라미터의 타입을 쓴다. (변수 선언할 때도 마찬가지)
  • 함수를 최상위 수준에 정의할 수 있다. 자바와 달리 꼭 클래스 안에 함수를 넣을 필요 X
  • 배열도 일반적인 클래스와 마찬가지. 배열 처리를 위한 문법 따로 존재 X
  • System.out.println 대신 println을 쓴다. 훨씬 간결!!
  • 끝에 ; 를 안 붙여도 된다

2.1.2 함수

func max(a : Int, b:Int):Int{
    return if(a>b) a else b
}

println(max(5,4))

함수 이름 : max
파라미터 목록 : (a: Int, b:Int)
반환 타입 : Int
함수 본문 : return if(a>b) a else b

문(statement) vs 식(expression)
식 : 값을 만들어 내며 다른 식의 하위 요소로 계산에 참여할 수 있다.
문 : 최상위 요소로 존재하며 아무런 값을 만들어내지 못한다.
자바 : 모든 제어 구조 -> 문
코틀린 : 루프를 제외한 대부분의 제어구조 ->. 식

  • 대입문의 경우, 자바 -> 식이지만 코틀린 -> 문.
    => 자바와 달리 대입식과 비교식간의 버그 X

위의 코드를 더 간단하 만들 수 있다.

fun max(a: Int , b: Int)= if(a>b) a else b

전자 코드를 블록이 본문인 함수
후자 코드를 식이 본문인 함수

코틀린은 타입 추론이 가능하기때문에 식이 본문인 함수가 가능!

2.1.3 변수

val question = "곽성현, Jacob"
val answer = 31
val answer :Int=31

변수 선언시에 사용하는 키워드는 총 2개 있다. val, var

  • val(value) : 변경 불가능한(immutable), 자바에서 final 변수에 해당.
  • var (variable) : 변경 가능한 (mutable), 자바에서 일반 변수에 해당.

val 참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있다!

var 의 경우 값은 변경 가능하지만 타입은 변경이 불가하다.
변경하려면 강제 형 변환을 해야한다.

2.1.4 더 쉽게 문자열 형식 지정: 문자열 템플릿

fun main(args: Array<String>){
 val name=if(args.size>0) args[0] else "Kotlin"
 println("Hello $name!")
}

문자열 리터럴의 필요한 곳에 변수를 넣되 변수 앞에 $를 추가해야함.

("Hello, "+name+"!")

와 동일한 기능을 가지지만 보다 더 간결하다.

만약 $라는 문자를 넣고 싶다면 \를 같이 쓰면 된다.

좋은 웹페이지 즐겨찾기