kotlin 에서는 상속 등을 사용하려면 기본 설정이 final이므로 따로 처리를 해줘야 사용이 가능함.
open 을 선언하게 되면 자식 클래스에서 부모 클래스를 상속 할 수 있다.
/**
* 부모 클래스
*/openclassParent{/**
* 하위 클래스에서 오버라이드할 수 없음.
*/funcall(){}/**
* open 을 추가해놔서, 하위 클래스에서 오버라이드 가능
*/openfuncall(name:String){}}/**
* 자식 클래스
*/classChild:Parent(){overridefuncall(name:String){}}
abstract
/**
* 부모 클래스
*/abstractclassParent{/**
* 하위 클래스에서 오버라이드 해야만함.
*/abstractfuncallMe()/**
* 하위 클래스에서 오버라이드할 수 없음.
*/funcall(){}/**
* open 을 추가해놔서, 하위 클래스에서 오버라이드 가능
* - 하위 클래스에서 오버라이드 할지 말지는 로직에 따라 판단할 수 있음.
*/openfuncall(name:String){}}/**
* 자식 클래스
*/classChild:Parent(){overridefuncallMe(){}overridefuncall(name:String){}}
constructor : 생성자
주 생성자
classTempTest(valname:String)
private 생성자
생성자를 숨기고 싶을 때 사용 가능
classTempTestprivateconstructor(valname:String){}
부 생성자
디폴트 파라미터로 사용하여 만들 수 있지만, 굳이 생성자를 여러개 만들겠다면 아래와 같이 사용 가능.