728x90
데이터 클래스
- data 키워드로 선언, 데이터들을 객체로 묶어준다.
- equals() 함수를 사용해 데이터 클래스의 객체와 포함된 데이터를 비교해 같은 경우 true, 다를 경우 false를 반환한다. 특히 멤버 변수의 값이 달라도 주 생성자에서 선언한 멤버 변수가 같으면 true를 반환한다.
- toString() 함수를 사용해 데이터 클래스의 객체가 포함하는 멤버 변수의 데이터를 출력한다. 일반적인 클래스에서는 의미없는 데이터가 출력되며, equals()와 마찬가지로 주 생성자에서 선언한 멤버 변수의 데이터를 대상으로 출력, 반환된다.
오브젝트 클래스
- 익명 클래스이다. 클래스의 이름이 없기 때문에 선언과 동시에 객체를 생성해야한다.
open class Parent{
open var data = 1
open fun parentFun(){
println("parentFun : $data")
}
}
val obj = object: Parent(){
override var data = 2
override fun parentFun(){
println("objFun : $data")
}
}
fun main(){
obj.data = 3
obj.parentFun() // objFun : 3
}
컴패니언 클래스
- 멤버 변수나 함수를 클래스 이름으로 접근할 때 사용한다.
- 컴패니언 클래스에서는 객체를 생성하지 않고도 클래스 이름으로 특정 멤버를 호출할 수 있다.
- 클래스 이름으로 멤버에 접근하려면 companion 키워드로 선언해야한다.
class NewClass{
companion object{
var data = 1
fun newFunc(){
println("NewClass data : $data")
}
}
}
fun main(){
NewClass.data = 150
NewClass.newFunc() // NewClass data : 150
}
728x90
'Android' 카테고리의 다른 글
[Kotlin] 코틀린 - 람다함수 (0) | 2024.08.02 |
---|---|
[Android Studio] 소문자 / 대문자 구분없이 자동완성 탭 열게하기 (0) | 2024.08.02 |
[Kotlin] 코틀린 - 상속 (0) | 2024.08.02 |
[Kotlin] 코틀린 - 클래스, 생성자 (0) | 2024.08.01 |
[Kotlin] 코틀린 - 반복문 (0) | 2024.08.01 |