일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 이모지
- Freesound
- Firebase
- 공자명언
- androidx
- 공부집중
- 이모지메모
- ASMR
- Coroutine
- jetpack compose
- bash
- 장자명언
- 파이썬
- DART
- 명언모음
- 좋은글필사하기
- Android
- Streaming
- FSM
- 소울칼리버6
- Flutter
- kotlin
- 오픈소스
- 벤자민플랭클린
- 1인개발자
- 코틀린
- recyclerview
- 넷플릭스
- 명심보감
- Linux
Archives
- Today
- Total
Vintage appMaker의 Tech Blog
[kotlin 배우기 github] 15. 오버로딩, 오버라이딩 본문
- 선조 클래스에서 메소드와 필드를 open으로 정의한다.
- 상속받은 클래스에서 override로 정의한다.
- 오버로딩은 자바와 같다. 같은 이름의 다른 파라메터를 받는 메소드를 정의하면 된다.
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' 카테고리의 다른 글
[kotlin 배우기 github] 17.Object Keyword (0) | 2020.11.19 |
---|---|
[kotlin 배우기 github] 16. interface(companion object) (0) | 2020.11.19 |
[kotlin 배우기 github] 14. class (0) | 2020.11.19 |
[kotlin 배우기 github] 13. 예외처리 (0) | 2020.11.19 |
[kotlin 배우기 github] 12. collections (0) | 2020.11.19 |
Comments