반응형
클래스 ( class )
- 선언
// 클래스 선언
class SampleClass{
}
// 인스턴스 생성
val sampleClass = SampleClass(); // new 키워드가 없음.
- 생성자
class Student(var name : String){ // 빈 생성자
}
class Student{
constructor(name : String){ // constructor를 이용해서 생성자 코드 작성
println(name)
}
}
class Student(name : String){
init{ // init을 이용해서도 가능함. 클래스를 인스턴스화할 때 가장 먼저 실행되는 코드.
println(name)
}
}
프로퍼티
클래스의 속성을 사용할 때는 멤버에 직접 접근하고 이를 프로퍼티라고 한다.
// 클래스 선언
class Student(var name:String){
}
val student = Student("뚠님") // 생성
student.name = "뚠님입니다" // 쓰기
println(student.name) // 읽기
상속
코틀린에서 상속은 기본적으로 할 수 없음!
상속을 가능하게 하려면 'open' 키워드를 클래스 앞에 추가해야 한다.
open class Student{
}
class Person : Student() { // Student 클래스를 상속받은 Person 클래스
}
// 생성자가 있을 때
open class Student(name : String){
}
class Person(name : String) : Student(name) {
}
내부 클래스
내부 클래스 선언에는 inner를 사용한다.
내부 클래스는 외부 클래스의 참조를 가진다.
class FirstClass{
var a = 10
//내부 클래스
inner class SecondClass {
fun changeA(){
a = 20
}
}
}
추상 클래스
추상클래스는 직접 인스턴스화할 수 없고 다른클래스가 상속하여 구현해야 한다.
abstract class FirstClass {
abstract fun firstFunc()
fun firstFunc(){
}
}
class SecondClass : FirstClass(){
override fun firstFunc(){
println("하이이잉")
}
}
val a = FirstClass() // 에러
val b = SecondClass() // 정상
반응형
'Develop > Android' 카테고리의 다른 글
Kotlin ) 코틀린 기초 Part#5 - null? null! (0) | 2019.06.12 |
---|---|
Kotlin ) 코틀린 기초 Part#4 - 인터페이스 ( interface ) (0) | 2019.06.12 |
Kotlin ) 코틀린 기초 Part#2 - 배열 ( Array ), 제어문 ( if, for, when ) (0) | 2019.06.12 |
Kotlin ) 코틀린 기초 Part#1 - 변수, 상수, 자료형 (0) | 2019.06.11 |
안드로이드 공부 및 포스팅 계획 (0) | 2019.06.10 |