• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

메서드 설정시 어떤부분은 static어 어떤부분은 static없이 하는데 이유가 궁금합니다.

23.12.17 17:40 작성 조회수 211

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예

[질문 내용]
1분31초에 addUsers에서는 private void로 일반 메서드를 생성했는데 이전에 HelloBean 메서드를 컴포넌트에 등록하기 위해 정의내릴때는 static으로 설정하는데 두개의 차이가 궁금합니다.

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2023.12.17

안녕하세요. a787574님, 공식 서포터즈 OMG입니다.

addUsers에서는 private void로 일반 메서드를 생성했는데 이전에 HelloBean 메서드를 컴포넌트에 등록하기 위해 정의내릴때는 static으로 설정

=> addUsers()는 private 메서드로 해당 컨트롤러 클래스 내에서만 사용하는 메서드입니다 😀

반면 HelloBean 은 메서드가 아닌 내부 클래스(inner class)입니다.

메서드 간 차이(비교)로 보는 것 보다는 HelloBean은 중첩 클래스인데, 중첩 클래스일 때 static을 사용하는 이유 에 대한 잘 정리된 글이 있어 첨부 드립니다.

 

참고) https://johngrib.github.io/wiki/java/inner-class-may-be-static/

 

감사합니다.