inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 핵심 원리 - 고급편

리플렉션

reflection과 extracted 의 차이

해결된 질문

123

임종민

작성한 질문수 7

0

=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
제목과 동일한데 방식이 비슷해서 여쭤봅니다

extracted(ctrl + alt + M) 는 단순히 같은 로직을 메서드로 추출해서 정적인 메서드를 제공하는 거고

 

reflection은 동적으로 사용할 수 있는 것 외에도

추가적인 다른 기능도 있나요?

예외처리, 추상화 말고 또 다른 기능이 있을까요?

 

실무에서는 주로 두 방식 중에 어떤 방식을 자주 사용하는지 궁금합니다

spring 디자인-패턴

답변 1

1

y2gcoder

안녕하세요. 임종민님, 공식 서포터즈 y2gcoder입니다.

제가 질문을 잘못 이해한 것 같습니다!

extracted의 단축키를 통해 행하는 것은 메서드 추출이라는 프로그래밍 기법이고, 리플렉션은 자바의 기술 중 하나입니다.

메서드 추출은 프로그래밍 기법 중에서도 리팩토링할 때 많이 소개되고 사용되는 기법입니다. 실무에서도 많이 사용할 수 있습니다(저도 자주 사용하는 것 같습니다 🙂 )

자바 리플렉션 기술은 주로 간단한 애플리케이션 개발에서는 직접 사용할 일이 거의 없습니다. 다만 우리가 사용하는 애노테이션, 스프링 부트 프레임워크 내부적으로는 이러한 리플렉션을 통해 처리하는 부분이 분명 있습니다.

저는 부끄럽게도 두 가지가 비슷하다고 생각해본 적이 없네요 😅 어떠한 부분에서 방식이 비슷하다고 느끼셨는지 말씀해주신다면 좀 더 그에 대해 답변을 드릴 수 있을 것 같습니다!

감사합니다.

1

임종민

제가 강의에서 공통로직1,2 부분에서 같은 로직을 extracted 로 메서드를 추출해서 사용하는게 더 편리하다고 생각이 들어서 그랬던 것 같습니다 그 뒤쪽 강의를 보니까 사용 부분이 전혀 다르다는게 느껴졌네요..ㅎㅎ 답변 감사합니다

어드바이스 순서 디폴트 기준이 궁금합니다.

0

50

1

AspectV1 예제를 @Configuration 수동 등록으로도 가능한가요?

0

77

2

구체 클래스를 상속받아 확장한 형태도 클래스패턴/데코레이터 패턴이라고 칭하나요?

0

49

1

TraceTemplate 을 미리 빈으로 등록해서 사용할때 이렇게 설정하는게 맞는건가요?

0

53

1

Decorator 에서 추상메서드로 뺄때 질문 있습니다.

0

55

1

대상 클래스에 기본 생성자가 없을 때

0

74

1

스프링 부트 버전 4.0 aop 의존성 명칭 변경

1

343

2

final 키워드 사용 관련 질문

0

74

1

안녕하세요

0

64

1

ThradLocal 실무 사례

0

97

2

실무에서의 동시성 문제

0

62

1

로그 등 부가 기능에 대한 테스트코드

0

50

1

ProceedingJoinPoint와 MethodInvocation에 대하여

0

67

1

실무 멀티스레딩에 대한 궁금증

0

69

1

안녕하세요 질문있습니다

0

43

1

AspectV3 aop 실행 순서 문의 드립니다

0

37

1

MDC vs AOP 중에 고민중입니다.

0

74

1

순환참조

0

158

2

this를 단독으로 사용할때랑 파라미터 바인딩 할때 차이

0

77

1

빈 후처리에 등록 질문 있습니다.

0

75

1

AppConfig 설정하는 설명중에 이해가 안되는게 있습니다.

0

88

1

ThreadLocal을 지역변수로 선언하면 remove가 필요할까요?

0

117

2

@Aspect 어노테이션으로 생성된 Advisor의 Bean 저장 여부

0

67

1

ThreadLocal 사용시 부작용이 있을수 있을까요? (ThreadLocal.remove()를 잘한다고 해도..)

0

73

2