• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

메서드의 시그니처로 판단하기 때문에 정적이라는 뜻이 무엇인가요?

22.03.10 00:41 작성 조회수 177

0

안녕하세요. 좋은 강의 잘 보고 있습니다 :)

다름이 아니라 execution 은 메서드의 시그니처로 매개변수 타입을 판단하기 때문에 완전히 일치해야 하고 부모 타입으로 적용할 수 없다는게 기술적으로 어떤 이유인지 여쭤봐도 될까요.

Method someMethod  = Class.class.getMethod("someMethod", String.class);

앞서 excution()부분을 설명하실 때, 이렇게 리플렉션을 사용해서 someMethod 객체를 받은 뒤에 출력되는 시그니처들에서 매칭여부를 판단한다고 말씀하셨던 것 같은데요. 물론 여기에는 선언타입과 파라미터타입 모두 있고... 결국 그럼에도 excution에서는 선언타입은 부모 타입으로도 매칭이 되고, 파라미터타입은 완전히 타입이 일치해야 매칭이 된다고 해서, 사실 그냥 넘어가도 되긴 하지만 정확히 무슨 기술적인 차이가 있어서 그런지 궁금해서 여쭤봅니다. 단순히 선언 타입을 검사할 때는 intance of 를 사용하고 파라미터 타입을 검사할 때는 String.equals() 를 사용하는 건 아닐꺼 같고... 이유가 무엇인가요?

답변 1

답변을 작성해보세요.

1

안녕하세요. 컴퓨터공부하자님

기술적으로 어떤 차이가 있어서라기 보다는, 각각 용도가 다른 것으로 이해하시면 됩니다.

어떤 경우에는 부모 타입을 적용하는게 필요하게, 어떤 경우에는 부모 타입을 적용하지 않는 것이 필요하니까요.

각각 필요한 상황에 맞추어 사용할 수 있는 다양한 기능이 제공된다고 보시면 됩니다.

감사합니다.