• 장점
    • 유연성 증가
    • 확장성 증가
    • 외부 라이브러리 또는 프레임워크 없이도 런타임에
      • 클래스 정보 얻기
      • 메서드 호출
      • 속성 변경
  • 단점
    • 성능 저하
    • 보안
    • 내부 구현에 직접 접근해서 캡슐화 위반