Vintage appMaker의 Tech Blog

[kotlin 배우기 github] 15. 오버로딩, 오버라이딩 본문

강좌, 연재/앱으로 배우는 kotlin

[kotlin 배우기 github] 15. 오버로딩, 오버라이딩

VintageappMaker 2020. 11. 19. 07:37
  1. 선조 클래스에서 메소드와 필드를 open으로 정의한다.
  2. 상속받은 클래스에서 override로 정의한다.
  3. 오버로딩은 자바와 같다. 같은 이름의 다른 파라메터를 받는 메소드를 정의하면 된다.
fun main(args : Array<String>){
    var 오브젝트1 = baseClass();
    오브젝트1.func1();

    var 오브젝트2 = childClass();
    오브젝트2.func1();
    오브젝트2.func2();
    오브젝트2.func2("문자열 파라메터");
    오브젝트2.func2("문자열 파라메터", 100);
}

open class baseClass{
    // 상속받은 클래스에서 오버라이드하려면 선조클래스에서 open으로 정의.
    open var name = "base";
    open fun func1() = println(this.toString());

    // 외부사용금지 .찍고 메소드 사용못함.
    private fun onlyMyFunc() = println("클래스내부에서만 사용");
    constructor(){
        onlyMyFunc();
    }
}

class childClass : baseClass(){
    override var name = "";
    override fun func1() = println(this.toString() + " 재정의함.");
    fun func2() = println("func2");

    // overloding
    fun func2(s : String ) = println("func2:$s ");
    fun func2(s : String, num : Int ) = println("func2: $s, $num  ");

}

 

 

 

kotlin 배우기 - github 예제 - Google Play 앱

안드로이드 개발 공식언어로 kotlin이 추가되었습니다. 안드로이드 개발자 입장에서는 배워야 하지만, 그것도 시간과 노력이 필요해서 쉽지가 않습니다. 그런 개발자들을 위해 kotlin의 필수사항

play.google.com

 

Comments