프로퍼티 클래스의 분리 강의중 this 의 사용에 궁금증이 있습니다.
204
작성한 질문수 1
안녕하세요 강의를 열심히 듣다가 궁금증이 생겨 문의드립니다.
filed에 선언된게
String contextPath, int port 이렇게 두가지인데
factory에 set 할때는 contextPath에는 this.contextPath
그 밑 port에서는 this를 사용하지 않았습니다.
this를 생략하여도 같은 필드변수를 가져오는것일까요 ?
(제 생각에는 같은 필드변수를 가져온다고 생각합니다. )
두개가 어떤 차이를 가지는지 알고 싶습니다.
( 제 생각엔 port 에도 this. 가 생략되어있다고 생각됩니다.)
질문을 읽어주셔서 감사합니다.
답변 1
1
클래스의 멤버 필드(인스턴스 변수)를 참조할 때 this를 붙일 수도 있고, 이름이 메소드 내의 변수와 충돌하지 않는다면 안 붙일 수도 있습니다. 보통 제가 this를 붙이는 습관이 있는데 말씀하신 port에는 빼먹었나보네요.
특별한 이유가 있는 것은 아닙니다. 😃
질문해주셔서 감사합니다.
이런 코드 작성 관례(인스턴스 변수에 this를 항상 붙일 것인가 꼭 필요한 경우만 붙일 것인가)는 개발팀 내에서 규칙을 정해서 모두가 같은 스타일로 만드는 게 좋습니다. 제가 있는 팀에는 항상 this를 붙이도록 합니다. 자칫 메소드가 길어졌을 때 이게 어디서 정의된 변수인지 살펴보는 불편을 줄여주고, 혹시 메소드 내에 로컬 변수로 같은 이름을 썼더라도 혼동이 발생하지 않을 수 있으니까요.
스프링 프레임워크의 개발자와 기여자들에게 요구되는 코딩 표준 가이드 문서가 있습니다. 이 문서도 잘 살펴보시면 클래스의 필드는 항상 this를 붙여서 참조하라고 되어있습니다.
https://github.com/spring-projects/spring-framework/wiki/Code-Style
11강에서 cmd에서 spring shell에 $ init 하면 Fail 메세지
0
75
2
TestRestTemplate 을 통해 테스트 실행시 웹 요청 정보가 콘솔에 표시되지 않습니다.
0
83
1
섹션7. 자동구성 정보파일분리 강의 질문(@MyAutoConfiguration 붙힌 이유)
0
200
2
WebApplicationContext를 DispatcherServlet에 this로 넘기는 것
0
278
2
인프라 빈 구성 정보의 분리에서 EnableMyAutoConfiguration 질문드립니다.
0
209
2
질문드립니다.
0
232
2
spring boot 3.3.7로 학습중입니다.
0
369
2
Serverproperties 객체 생성 후 @Impor 어노테이션 사용 이유 용도
0
162
2
spring start io 에서 이제더이상 2.x버전은 지원하지 않는 것 같습니다.
1
295
2
Springboot 3.2 이상에서 파라미터 추론관련
0
913
4
binding error
0
220
3
Arrays.copyOf 메서드의 타입 세이프
1
155
2
MyOnClassCondition에 있는 matches method의 Invoke 횟수
1
231
3
인용구의 출처가 궁금합니다.
0
259
1
프로퍼티 빈의 후처리기 도입 AnnotationUtils의 사용
0
236
2
SimpleCacheConfiguration과 빈 등록
0
168
2
MyAutoConfigImportSelector 에서 생성자로 ClassLoader를 주입받을 수 있는 점
0
243
1
IntelliJ project jenerator spring initailizr
0
150
1
강의 자료 레퍼지토리에 업로드
0
215
1
강의자료
0
387
1
Hikari 라이브러리가 없으면 오류가 나는거 아닌가요
0
313
2
Tomcat 포트 프로퍼티 미설정시 랜덤 포트 설정 문의
0
473
5
@Import 로 Bean을 등록해야하는 기준이 뭔지 궁금합니다.
0
338
2
application.properties파일내 프로퍼티 이름
0
209
1





