카테고리 없음
[Kotlin 21강] Any
연나연
2024. 1. 5. 10:24

Any 클래스
▶Kotlin에서 사용하는 모든 클래스의 부모 클래스이다.
▶Kotlin은 클래스를 작성할 때 상속받지 않는다면 자동으로 Any 클래스를 상속받는다.
▶Any 클래스에는 모든 객체가 가지고 있어야할 메서드가 제공되고 있으며 이 메서드들을 Overriding 하여 각 클래스의 성격에 맞게 재 구현하여 사용할 수 있다.
클래스
객체들의 설계도
fun main(){
// 코틀린에서 모든 클래스는 Any를 상속받기 때문에 모든 객체는
// Any 타입 변수에 담을 수 있다.
val a1:Any = TestClass1()
val a2:Any = TestClass2()
println("a1: $a1")
println("a2: $a2")
// 객체의 주소값을 가지고 있는 변수를 출력할 경우
// toString 메서드를 호출하여 메서드가 반환하는
// 문자열을 출력하게 된다.
val s1 = a1.toString()
val s2 = a2.toString()
println("s1: $s1")
println("s2: $s2")
val t3 = TestClass3(100,200)
println("t3: $t3")
}
// 상속 관계를 설정하지 않았지만 Any를 상속받는다.
class TestClass1
class TestClass2
class TestClass3(var a1:Int, var a2:Int){
// toString 메서드 구현
// toString : 객체를 문자열로 변환하는 의미의 메서드
// 객체의 주소값을 가지고 있는 변수를 출력하면 toString 메서드가 호출되고
// 여기서 반환하는 문자열을 출력해준다.
override fun toString(): String {
// 강사는 객체가 가지고 있는 property들의 값을 출력해보는 코드는 넣어놓습니다..
println("a1 : $a1")
println("a2 : $a2")
return "TestClass3을 통해 만든 객체입니다"
}
}
