
is_a 메소드는 자식 클래스가 부모 클래스의 인스턴스인지 확인하는 데 사용됩니다.
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `is_a?` 메소드를 사용할 수 있습니다.
또한, Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `kind_of?` 메소드를 사용할 수 있습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.kind_of?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스가 아니면, `!is_a?` 메소드를 사용할 수 있습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts !cat.is_a?(Dog) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `respond_to?` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.respond_to?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `instance_of?` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.instance_of?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `class` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.class == Animal # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `superclass` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.superclass == Animal # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `ancestors` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts Animal.ancestors.include?(cat.class) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `included_modules` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts Animal.included_modules.include?(cat.class) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `methods` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts Animal.methods.include?(cat.class) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `methods.grep` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts Animal.methods.grep(/is_a?/).include?(cat.class) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `respond_to_missing?` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.respond_to_missing?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `method_missing` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.method_missing?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `public_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.public_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `private_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.private_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `protected_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.protected_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `public_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.public_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `private_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.private_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `protected_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.protected_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `respond_to?` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.respond_to?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `respond_to_missing?` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.respond_to_missing?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `method_missing` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.method_missing?(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `public_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
#hostingforum.kr
ruby
class Cat < Animal
# ...
end
cat = Cat.new
puts cat.public_send(:is_a?) && cat.is_a?(Animal) # true
Cat 클래스가 Animal 클래스의 자식 클래스인지 확인하려면, `private_send` 메소드를 사용할 수 있습니다. 하지만, 이 방법은 더 느리고 안전하지 않습니다.
```ruby
class
2025-07-23 07:58