KOTLIN 23

[KOTLIN] OPEN 키워드

Open 코틀린에서 특정 클래스의 상속을 허용할 때 해당 클래스 앞에 open 키워드를 사용 오버라이드를 허용하고 싶은 메소드나 프로퍼티에도 앞에 open 키워드를 사용 코틀린 클래스는 기본이 final public.. Open 사용 예시 //open 키워드 선언해서 상속이 가능하도록 함 open class Drink { var name = "음료" open fun drink() { println("${name}를 마시자") } } //open 키워드 선언한 클래스를 상속받았음 class Cola : Drink() { var type = "콜라" override fun drink() { println("${name}중 ${type}를 마시자") } } fun main() { //음료를 마시자 var dr..

KOTLIN 2022.05.10

[KOTLIN] DATA CLASS

Data Class (데이터 클래스) 자바에서 자바빈 패턴을 자동으로 생성해주는 클래스라 이해함 Data Class 때문에 Lombok을 사용 안해도 되서 좋은 듯 Data Class 특징 슈퍼 클래스를 가질 수 없음 주 생성자에 기본 파라미터가 1개 이상 존재해야하며, val or var로 선언해야함 abstract / open / sealed / inner 키워드 사용 불가 Data Class에서 제공하는 것 hashCode() : 해시값 계산시 사용 copy() : 객체 복사 equals() : 데이터의 값 비교 toString() : 데이터를 문자열로 쉽게 알아보고 싶을 때 사용 componentsN() : 구조 분해 기능 Data Class 사용 예시 data class Member ( val ..

KOTLIN 2022.05.07

[KOTLIN] OBJECT 키워드

Object 키워드 Object 키워드는 object expression(객체 표현식) 이랑 object declartion(객체 선언) 두가지 방법으로 사용 object expression으로 익명 클래스의 객체를 생성할 때 사용 object declaration으로 사용시 접근 시점에서 하나의 객체만 생성됨 코틀린은 Object 키워드를 통해 싱글턴 패턴을 쉽게 사용 가능함 object declaration과 companion object를 이해하기 위해 작성 Object declaration object Car { fun print() { println("자동차") } } object 키워드를 붙여서 생성해주면 싱글톤 패턴이 적용됨 코틀린은 object declaration을 통해 내부적으로 thr..

KOTLIN 2022.05.07