Develop/Android
Kotlin ) 코틀린 기초 Part#3 - 클래스 ( CLASS )
불로소득달인
2019. 6. 12. 13:29
반응형
클래스 ( 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() // 정상
반응형