라벨이 Any인 게시물 표시

Kotlin Any Type

Any Type Kotlin은 모든 클래스가 직접 혹은 간접적으로 Any 클래스를 상속받는다. 따라서 모든 객체의 주소 값은 Any 타입 참조 변수에 담을 수 있다. Any 타입과 is 연산자를 활용하여 다양한 타입의 객체에 대응할 수 있는 코드를 만들 수 있다. Any 코틀린에서 any는 모든 타입의 상위 타입(슈퍼 타입)이며, 모든 클래스의 공통 조상입니다. 즉, 모든 코틀린 클래스의 인스턴스를 저장할 수 있는 공통의 타입을 말합니다. Any는 자바의 Object와 유사한 역할을 합니다. 코틀린의 클래스들은 기본적으로 Any 클래스를 상속받기 때문에, 모든 클래스의 인스턴스는 Any 타입으로 취급될 수 있습니다. fun main () { val obj1:SubClass1 = SubClass1() val obj2:SubClass2 = SubClass2() anyMethod (obj1) anyMethod (obj2) anyMethod ( 100 ) anyMethod ( " 문자열 " ) } open class SuperClass1 interface Inter1 class SubClass1: SuperClass1() { fun subMethod1 () { println ( "SubClass1 의 subMethod1 입니다 " ) } } class SubClass2: Inter1 { fun subMethod2 () { println ( "SubClass2 의 subMethod1 입니다 " ) } } fun anyMethod (obj : Any){ println (obj. javaClass ) if ( obj is SubClass1 ) { obj .subMethod1() } else if ( obj is SubClass2 ) { obj .subMethod

Kotlin Any

이미지
Kotlin Any  Kotlin 에서 사용하는 모든 클래스의 부모 클래스이다.  Kotlin은 클래스를 작성할 떄, 상속받지 않는다면 자동으로 Any 클래스를 상속받는다.   Any 클래스에는 모든 객체가 가지고 있어야할 메서드가 제공되고 있으며, 이 메서드들을 overriding 하여 각 클래스의 성격에 맞게 재 구현하여 사용 할 수 있다.  Kotlin 은 직간접적으로 Any를 상속 받고 있기때문에,  Any 가 가지고 있는 메서드를 사용할 수 있다. Kotlin Any 공식 메서드  https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/  따라서, Kotlin 의 모든 Class 는 toString, equals 같은 기본적인 class 의 메서드를 사용할수 있다.  모든 클래스는 Any 클래스를 상속받고 있기때문에, 부모클래스 참조 변수를 통해서 모든 클래스를 통합해서 매개변수로 받을 수 있게 된다.