
is_subclass_of 메서드는 자바의 클래스 상속 관계를 확인하는 메서드입니다.
이 메서드는 인자로 Class 객체를 받습니다. 이 Class 객체는 실제로 어떤 클래스의 인스턴스를 나타내는지 중요하지 않습니다.
예를 들어, Animal class가 Animal을 상속 받는 Dog class가 있을 때, Dog class의 인스턴스를 Class 객체로 받았다고 가정해 보겠습니다.
이 Class 객체는 Dog class의 인스턴스를 나타내지만, Animal class의 인스턴스도 나타낼 수 있습니다.
is_subclass_of 메서드는 이 Class 객체가 Animal class의 인스턴스인지 확인해 줍니다.
예를 들어, Dog class의 인스턴스를 Class 객체로 받았을 때, is_subclass_of 메서드는 true를 반환합니다.
반면, Animal class의 인스턴스를 Class 객체로 받았을 때, is_subclass_of 메서드는 false를 반환합니다.
이 메서드는 Class 객체가 Animal class의 인스턴스인지 확인하기 때문에, Class 객체가 실제로 어떤 클래스의 인스턴스를 나타내는지 중요하지 않습니다.
이 메서드는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
java
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
Class<?> dogClass = dog.getClass();
System.out.println(Dog.class.isAssignableFrom(dogClass)); // true
Animal animal = new Animal();
Class<?> animalClass = animal.getClass();
System.out.println(Animal.class.isAssignableFrom(animalClass)); // false
}
}
class Animal {}
class Dog extends Animal {}
이 예제에서, Dog class의 인스턴스를 Class 객체로 받았을 때, is_subclass_of 메서드는 true를 반환합니다.
반면, Animal class의 인스턴스를 Class 객체로 받았을 때, is_subclass_of 메서드는 false를 반환합니다.
이 메서드는 Class 객체가 Animal class의 인스턴스인지 확인하기 때문에, Class 객체가 실제로 어떤 클래스의 인스턴스를 나타내는지 중요하지 않습니다.
2025-08-12 23:45