변수와 자료형 변수의 선언 val : 초기화 후에는 값의 변경이 불가능한 변수 (immutable) var : 변경이 가능한 변수 (mutable) nullable 변수 코틀린은 기본적으로 null 값을 허용하지 않습니다. NullPointerException을 컴파
클래스의 기본구조 클래스 = 속성 (attribute) + 메소드(method) , 인스턴스(instance)를 만들어 내는 틀 속성 : 클래스에 포함되는 변수 메소드 : 클레스에 포함되는 함수 클래스의 생성자 생성자(constructor) : 인스턴스의 속
\-> 상속 이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 말합니다. 상속하는 클래스를 super class , 상속받는 클래스를 sub class 라고 합니다.코틀린의 최상위 클래스는 Any 입니다. 즉, Any 로 선언 시 모든 데
kotlin 의 equality structural equality (==) referential equality (===) 값의 비교 == ` 내부적으로 equals 를 사용한다. java 의 equals 와 같이 값을 비교한다. reference 주소의 비교 ==
접근제한자 패키지 스코프 public, private, internal : 같은 모듈내에서만 접근 가능 클래스 스코프 public, private, protected : 자신과 상속받은 클래스에서만 접근 가능 고차함수와 람다함수 고차함수 (High-Order Func
Functional Interface(함수형 인터페이스) 오직 하나의 abstract method 를 가진 인터페이스를 functional interface 또는 Single Abstract Method(SAM) interface 라고 부릅니다. kotlin 에선 함
코틀린은 상속이나 자바의 Decorator 와 같은 디자인 패턴을 사용하지 않은 채 클래스를 확장 할 수 있습니다. 확장(Extensions) 란 기존 클래스에 프로퍼티나 함수를 추가하는 것을 의미합니다.third-party library 와 같이 수정이 불가했던 라이
Data Class data Class 란 data 를 담기 위한 목적으로 생성된 class 로 class 앞에 data 를 붙여줍니다. ` data 클래스는 아래의 요구사항들을 만족해야 합니다. 주 생성자는 적어도 1개의 파라미터를 가져야 한다. 모든 주 생성자의 파
Sealed Classes
코틀린 또한 자바와 같이 enum class 를 지원합니다. 코틀린에서의 사용법은 아래와 같습니다.자바와 같이 생성자, 필드, 메소드를 선언할 수 있으며 values, valueOf 메소드로 인스턴스들을 불러올 수 있습니다. enum 은 자신의 익명 클래스(Anonym