일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 1인개발자
- Android
- 좋은글필사하기
- FSM
- kotlin
- 명심보감
- 이모지메모
- bash
- 명언모음
- Firebase
- 파이썬
- ASMR
- Flutter
- jetpack compose
- 공자명언
- recyclerview
- 벤자민플랭클린
- Streaming
- 장자명언
- Linux
- 이모지
- DART
- 소울칼리버6
- Freesound
- androidx
- 공부집중
- 넷플릭스
- Coroutine
- 코틀린
- 오픈소스
Archives
- Today
- Total
Vintage appMaker의 Tech Blog
[kotlin 배우기 github] 16. interface(companion object) 본문
강좌, 연재/앱으로 배우는 kotlin
[kotlin 배우기 github] 16. interface(companion object)
VintageappMaker 2020. 11. 19. 07:41interface는
interface 이름 {}
으로 정의한다. 오버라이드하기 위해 open이나 기타 지시자로 정의할 필요가 없다.
abstract class는 구현상속할 메소드도 abstract로 정의해야 한다.
// 정의
abstract class 추상화클래스{
abstract fun 메소드();
}
...
// 구현상속
class 추상화클래스구현 : 추상화클래스(){
override fun 메소드() = println("상속구현했음");
}
static을 사용하려면 클래스 내에 companion object{}를 만들고 그 안에 메소드나 멤버필드를 정의한다.
fun main(args : Array<String>){
// 인터페이스
인터페이스구현().반드시구현해야하는함수();
var obj : 인터페이스;
// 추상화
// 아래 코드는 다음과 같이도 가능함
// 추상화클래스구현().apply { 그냥함수(); 상속받으면구현하세요(); }
var 객체 = 추상화클래스구현();
객체.그냥함수();
객체.상속받으면구현하세요();
// static
println( 추상화클래스구현.스태틱변수);
추상화클래스구현.이거스태틱임() ;
}
interface 인터페이스{
fun 반드시구현해야하는함수();
}
class 인터페이스구현 : 인터페이스{
override fun 반드시구현해야하는함수() = println ("구현했음");
}
abstract class 추상화클래스{
fun 그냥함수() = println("그냥함수");
abstract fun 상속받으면구현하세요();
}
class 추상화클래스구현 : 추상화클래스(){
override fun 상속받으면구현하세요() = println("상속구현했음");
// companion object {} 안에서 구현해야 static 가능
companion object {
var 스태틱변수 = "스태틱변수";
fun 이거스태틱임()= println("이거스태틱 함수임");
}
}
'강좌, 연재 > 앱으로 배우는 kotlin' 카테고리의 다른 글
[kotlin 배우기 github] 18. 람다식 (0) | 2020.11.19 |
---|---|
[kotlin 배우기 github] 17.Object Keyword (0) | 2020.11.19 |
[kotlin 배우기 github] 15. 오버로딩, 오버라이딩 (0) | 2020.11.19 |
[kotlin 배우기 github] 14. class (0) | 2020.11.19 |
[kotlin 배우기 github] 13. 예외처리 (0) | 2020.11.19 |
Comments