티스토리 뷰

반응형

[Any 클래스]
- 자바의 Object (최상위 클래스)와 동급

[함수 Unit 타입]
- 리턴값이 없으면 : Unit으로 표기함
- 생략해도 됨

[확장함수]
- 이미 선언되어있는 객체나 클래스 하위의 함수를 오버로딩, 오버라이딩 가능함 (String 클래스의 새로운 함수 추가하기)

[lateinit]
기본 자료형을 제외(String은 가능)하고 객체 생성시 초기화를 하지 않고 변수 선언만 선언할 수 있게 하는 키워드

[타입캐스팅]
as 타입으로 타입캐스팅함

[상속]
- 디폴트가 상속 불가능임
- 부모 클래스에 open 키워드가 있어야 상속가능
- 오버라이딩도 open이 붙어야 오버라이딩 가능

[init]
- 인스턴스를 생성하면서 수행할 메소드나 로직을 담을 수 있음(블록단위) init {}
- init 은 여러개 선언 가능

[object]
- 싱글톤을 보장하는 클래스

[companion object]
- 자바의 static과 매우 유사
- 코틀린 수준에서 static 키워드를 블록 단위로 바꾼 것
- companion object는 엄밀하게 static이 아님
- companion object 객체임
- companion object 이름 지을수 있음
- 클래스 내에 딱 하나만 쓸 수 있음
- 인터페이스 내부에도 정의 가능
- 상속관계에서 companion object 멤버는 같은 이름일 경우 가려짐 (섀도잉)

[data class]
- 편의성을 위해서 다양한 메소드를 자동으로 생성해주는 클래스
- hashCode(), copy(), equals(), toString(), 
- 다른 클래스 상속받을 수 없음

반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크