ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kotlin] Any Class
    Kotlin 2022. 9. 14. 15:36

    -Any 클래스는 자바에서는 Object 클래스와 같은 모든 클래스의 부모클래스가 되는 클래스임

    -이미 만들어져 있거나 앞으로 생성될 클래스에 따로 명시하지 않아도 다른 클래스를 상속받지 않고 있다면 그 클래스는 Any 클래스를 상속받고 있다고 보아야함

    -다만 다른 클래스를 상속 받고 있는 클래스는 그 부모클래스가 Any 클래스를 상속 받고 있기 때문에 결과적으로 자기 자신도 Any 클래스의 자식(손자)클래스가 된다고 봐야 함

    package days02
    
    fun main(){
        val obj1 = TestClass31()
        println("obj1: $obj1")
        // 참조변수를 println에 넣으면 Any 클래스에서 상속 받은 toString() 메서드가 실행되어
        // 클래스 이름과 해쉬코드가 출력됨.
        // obj1: days03.TestClass11@29453f44
    
        // Any 클래스에서 상속 받은 toString 메서드를 오버라이드 클래스는 재정의된 메서드가 실행됨
        val obj2 = TestClass32()
        println("obj2: $obj2")
    
        // 매개 변수의 자료형이 Any이기에 어떤 클래스의 인스턴스가 전달인수가 되어도 무방함
        testFun(obj1)
        testFun(obj2)
    }
    
    fun testFun(a:Any){
        println("a: $a")
    }
    
    class TestClass31()
    
    class TestClass32{
        // Any 클래스에서 상속받은 toString을 오버라이딩해서 사용할 수 있음
        override fun toString():String{
            return "TestClass32 객체"
        }
    }

    'Kotlin' 카테고리의 다른 글

    [Kotlin] Abstract  (0) 2022.09.14
    [Kotlin] this, super  (0) 2022.09.14
    [Kotlin] Override  (0) 2022.09.14
    [Kotlin] Extends  (0) 2022.09.14
    [Kotlin] Constructor  (0) 2022.09.14

    댓글

Designed by Tistory.