일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코틀린
- Android
- recyclerview
- 1인개발자
- DART
- 소울칼리버6
- Streaming
- Coroutine
- 명심보감
- bash
- 좋은글필사하기
- 이모지메모
- 벤자민플랭클린
- Firebase
- 오픈소스
- ASMR
- 공부집중
- kotlin
- 이모지
- 장자명언
- jetpack compose
- Linux
- androidx
- FSM
- Flutter
- 공자명언
- 파이썬
- 넷플릭스
- Freesound
- 명언모음
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 배우기 - github 예제 - Google Play 앱
안드로이드 개발 공식언어로 kotlin이 추가되었습니다. 안드로이드 개발자 입장에서는 배워야 하지만, 그것도 시간과 노력이 필요해서 쉽지가 않습니다. 그런 개발자들을 위해 kotlin의 필수사항
play.google.com
'강좌, 연재 > 앱으로 배우는 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