# Ruby 메타프로그래밍 (Ruby on Rails) > define_method, method_missing, class_eval, instance_eval, hooks, DSLs - 20 면접 질문 - Senior - [면접 질문: Ruby on Rails](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions.md) ## 1. Ruby에서 메타프로그래밍이란 무엇입니까? **답변** 메타프로그래밍은 프로그램이 런타임에 코드를 작성하거나 수정할 수 있는 능력입니다. Ruby에서는 이를 통해 메서드, 클래스, 모듈을 동적으로 정의할 수 있어 코드를 더 유연하고 간결하게 만듭니다. 이 기법은 Rails와 같은 프레임워크에서 우아한 DSL을 만들고 코드 중복을 줄이기 위해 널리 사용됩니다. ## 2. Ruby에서 define_method 메서드의 목적은 무엇입니까? **답변** define_method를 사용하면 런타임에 동적으로 메서드를 생성할 수 있습니다. 메서드 이름(심볼 또는 문자열)과 메서드 본문을 정의하는 블록을 받습니다. def와 달리 define_method는 closure를 통해 둘러싼 스코프의 지역 변수를 캡처하므로, 매개변수화된 동작을 가진 메서드를 생성하는 데 유용합니다. ## 3. method_missing 메서드는 Ruby에 의해 언제 호출됩니까? **답변** method_missing은 객체가 자신의 상속 체인에 존재하지 않는 메서드 호출을 받을 때 자동으로 호출됩니다. 호출된 메서드의 이름과 인자를 받아 이러한 호출을 동적으로 처리할 수 있습니다. 이는 ActiveRecord에서 사용되는 ghost methods와 같은 여러 메타프로그래밍 패턴의 기반입니다. ## 17개 추가 질문 이용 가능 - class_eval과 instance_eval의 주요 차이점은 무엇입니까? - module이 클래스에 include될 때 어떤 hook이 호출됩니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Ruby on Rails 면접 주제 - [Ruby 기초](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/ruby-basics.md): 25개 질문, Junior - [Ruby 객체 지향 프로그래밍](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/ruby-oop.md): 20개 질문, Junior - [Rails 기초](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-fundamentals.md): 18개 질문, Junior - [Routing & Controllers](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/routing-controllers.md): 22개 질문, Junior - [ActiveRecord 기초](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/active-record-basics.md): 25개 질문, Junior - [Views와 ERB 템플릿](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/views-erb-templates.md): 20개 질문, Junior - [ActiveRecord 연관 관계](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/active-record-associations.md): 24개 질문, Mid-Level - [고급 ActiveRecord 쿼리](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/active-record-queries.md): 28개 질문, Mid-Level - [Rails 폼](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-forms.md): 20개 질문, Mid-Level - [인증과 인가](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/authentication-authorization.md): 22개 질문, Mid-Level - [최신 Asset Pipeline 및 프런트엔드](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-asset-pipeline.md): 18개 질문, Mid-Level - [Rails API 모드](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-api-mode.md): 20개 질문, Mid-Level - [RSpec를 사용한 테스트](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-testing-rspec.md): 24개 질문, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/active-job-background-jobs.md): 20개 질문, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/action-cable-websockets.md): 18개 질문, Mid-Level - [ActionMailer](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/action-mailer.md): 18개 질문, Mid-Level - [ActiveStorage](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/active-storage.md): 20개 질문, Mid-Level - [캐싱 전략](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/caching-strategies.md): 20개 질문, Mid-Level - [고급 마이그레이션](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/database-migrations-advanced.md): 20개 질문, Mid-Level - [Rails Engines 및 모듈식 앱](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-engines-modular-apps.md): 18개 질문, Senior - [성능 최적화](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/performance-optimization.md): 26개 질문, Senior - [Rails 디자인 패턴](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-design-patterns.md): 22개 질문, Senior - [Rails 보안](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-security.md): 22개 질문, Senior - [Rails에서의 GraphQL](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/graphql-rails.md): 20개 질문, Senior - [배포 및 프로덕션](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-deployment-production.md): 20개 질문, Senior - [Monitoring & Logging](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/monitoring-logging.md): 20개 질문, Senior - [Rails 업그레이드 전략](https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/rails-upgrade-strategies.md): 18개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/ruby-on-rails/interview-questions/ruby-metaprogramming