클래스는 다른 클래스에 중첩 가능 inner 키워드를 사용하면 내부 클래스는 외부 클래스의 멤버 참조 가능 class Outer { private val bar: Int = 1 // 코틀린은 기본적으로 class 안에 class를 넣을 경우 정적 클래스가 됩니다. class Nested1 { fun foo() = bar // 참조 불가 에러발생 } inner class Nested2 { fun foo() = bar // class 앞 inner 키워드를 이용하여 참조 가능 } } 위 코드를 이해하기 위해서는 아래 코틀린 문법이 필수입니다. 2019/05/19 - [Kotlin] - 코틀린 기초 문법) 1. 코틀린 변수 정의하기 2019/05/19 - [Kotlin] - 코틀린 기초 문법) 2. 코틀린 함..
Sealed Class (실드 클래스) ? 값이 제한된 집합의 유형 중 하나를 가질수 있지만 다른 유형을 가질 수 없는 제한된 클래스 계층 구조를 나타내는데 사용 Sealed 클래스는 하위 클래스를 가질수 있지만 동일한 파일에서 선언해야합니다. Sealed 클래스는 추상 클래스이며 직접 인스턴스화 할수 없고 추상 멤버를 가질수 있음 생성자는 기본적으로 private고 다른 접근 제한자를 가질수 없음 Sealed 클래스의 이점은 when문 사용 시 else절이 필요없음 인터페이스 방식 interface CmdInterface {fun execute()} class Add() : CmdInterface {override fun execute() {}} class Delete() : CmdInterface {..
코틀린은 자바와 똑같이 클래스는 class 키워드를 사용합니다. 자바에서의 클래스와 생성자 및 초기 코드 작성 방법 class ClassName { ClassName() { System.out.println("Constructors"); } ClassName(String str) {} ClassName(String str, int i) {} } 코틀린에서의 클래스와 생성자 및 초기 코드 작성 방법 /* constructor 키워드 생략가능 코틀린의 클래스는 기본생성자와 하나 이상의 보조 생성자를 가질수 있습니다. */ class ClassNameA1 {} class ClassNameA2 constructor() {} // 생성자에 매개변수가 있는 형태 class ClassNameB1(str: String..