* 변수

   - val

      : 변경 불가능한 참조를 저장하는 변수 (자바의 final 변수)

   - var

      : 변경 가능한 참조를 저장하는 변수

      : 초기 값을 대입하는 경우 타입을 지정하지 않아도 유형 추론을 통해 타입이 컴파일 타임에 지정됨

   - Null Safety

      : Nullable (?) 로 선언하지 않는 변수들은 기본적으로 Null 값을 가질 수 없음

 

* Safe Call (안전 호출) 연산자 (?.)

   - 변수가 null 이 아니면 해당 객체의 속성 또는 함수를 실행하고 null 이면 null 을 반환

 

* Elvis 연산자 (?:)

   - 객체가 non-null이면 그 객체의 값이 리턴되고, null이라면 ?:의 오른쪽 값을 리턴

   - 연산자의 오른쪽은 식이므로 return 이나 throw 도 사용 가능하다

 

* Not-Null Assertion (단언) 연산자 (!!)

   - Nullable 타입 변수를 Non-Nullable 타입으로 강제변환

 

* Safe Cast (안전 타입 변환) 연산자 (as?)

   - 타입 변환이 올바르게 동작하지 않는 경우 ClassCastException 발생시키는 대신 null 을 리턴

 

* 출력문

   - println("Hello, ${name}!")

     : 변수를 포함할 수 있음

 

* public

   - 코틀린의 기본 가시성은 public 이다

 

* Property

   - 프로퍼티를 선언하면 기본적으로 get, set 메소드에 의해 동작한다

 

* 조건문

   - 삼항연산자가 없는 대신, if-else / when-else 를 통해 특정 변수 값을 대입할 수 있음

 

* when (= 자바 switch)

   - 집합 비교도 가능하다

      when (setOf(c1, c2)) {

         setOf(RED, YELLOW) -> ORANGE

      }

 

* 타입 체크 (= 자바 instance of)

   - if (e is Animal)

          

* 반복문

   - 수에 대한 Iteration

      : 1..10  (1이상 10이하)

   - for (i in 100 downTo 1 step2)

 

* 범위 원소 검사

    - fun isLetter(c: Char) = c in 'a'..'z' || c in 'A'..'Z'

 

* 비트 연산자

   - shl : signed left shift

   - shr : signed right shift

   - ushr : unsigned right shift

   - and : 자바 &

   - or : 자바 |

   - xor : 자바 ^

 

* Pair<A, B> 객체 생성

   1. Pair<a, b>

   2. "a" to "b"

 

* 레퍼런스 동등 연산자 (===)

   - 동일한 레퍼런스인지 확인

 

* 동등 연산자 (==)

   - 속성이 동일한지 확인

+ Recent posts