final : override를 할 수 없게 한다. default open : override를 열어 준다. abstract : 반드시 override 해야한다. override : 상위 타입을 오버라이드 하고 있다.
public : 모든 곳에서 접근 가능Protected : 같은 패키지 또는 하위 클래스에서만 접근 가능default(기본접근지시어) : 같은 패키지에서만 접근가능private : 선언된 클래스 내에서만 접근가능public(기본접근지시어) : 모든 곳에서 접근 가능Pr
Kotlin에서는 companion object 사용
기본적으로 바깥 클래스에 대한 연결이 없는 중첩 클래스가 만들어진다this@상위클래스.변수 를 써서 바깥 클래스의 프로퍼티를 사용한다.
Sealed Class, Sealed Interface컴파일 타임 때 하위 클래스의 타입을 모두 기억한다.즉, 런타임때 클래스 타입이 추가될 수 없다.하위 클래스는 같은 패키지에 있어야 한다.Enum과 다른점1\. 클래스를 상속받을 수 있다.2\. 하위 클래스는 멀티
컬렉션을 선언할 때, 불변인지 가변인지 먼저 설정해야함.컬렉션안에 불변인 Reference Type의 Element는 바꿀 수 있음TIP : 깔끔한 코드와 불필요한 가변 리스트 사용을 줄이기 위해 우선 불변 리스트를 만들고, 꼭 필요한 경우가변 리스트로 바꾸자
클래스의 밖에서 클래스에 안에 있는것 처럼 사용하는 함수위 처럼 lastChar 라는 함수를 String.lastChar()로 선언하여 String 함수처럼 사용할 수 있다.원본 class의 private, protected 멤버 접근이 안된다(캡슐화 보존)멤버함수,
사용될 list 선언 람다 만드는법 1. 노네임 함수선언 2. 중괄호 안에 화살표로 선언 람다 호출 방법 람다 파라미터 호출 람다 사용 함수 선언 호출