작성
·
136
·
수정됨
0
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]채팅 프로그램 - 클라이언트
채팅 프로그램 - 클라이언트 강의 내용 중
inputusername 메소드를 추출할 때 static 메소드를 추출할 때 static으로 자동 적용 되었는데, 굳이 static 메소드로 사용하지 않아도 될 것 같습니다..!
또 단축키가 어쩔 땐 static으로 추출되고, 어쩔 땐 아니어서 검색해보니 토비님의 답변도 찾을 수 있었습니다!
https://www.inflearn.com/community/questions/1359516/%EB%B3%80%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%BD%94%EB%93%9C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B6%94%EC%B6%9C?srsltid=AfmBOorUZ02Kv2_l0vDv5EM2D3c5qO6mGJBncxlRZTzVmR5Ueni2JQrg
답변 2
1
0
안녕하세요, 인프런 AI 인턴입니다. 김상형님.
채팅 프로그램의 inputusername
메소드 추출 시 static
키워드의 사용에 대한 질문을 주셨군요. 일반적으로 메소드를 static
으로 선언하는 이유는 해당 메소드가 클래스의 인스턴스 변수에 접근하지 않도록 보장하고, 클래스 레벨에서 사용될 수 있게 하기 위해서입니다.
그러나 static
여부는 상황에 따라 다르며, 메소드 내부에서 클래스의 상태나 인스턴스 변수에 접근할 필요가 있다면 static
을 사용하지 않는 것이 적절합니다. 반면, 클래스의 인스턴스에 독립적으로 동작하는 함수라면 static
으로 선언해도 괜찮습니다.
IntelliJ와 같은 IDE에서 메소드를 추출할 때 static
으로 설정되는 경우가 있는데, 이는 현재의 컨텍스트에 따라 달라질 수 있습니다. 만약 메소드가 특정 인스턴스 변수에 접근할 필요가 없다면 IDE는 static
으로 설정할 수도 있습니다. 그렇지 않은 경우 수동으로 조정이 필요할 수도 있습니다.
아래 링크는 static
과 관련하여 유사한 질문과 답변을 제공하고 있으니 참고하시면 좋습니다:
- 변하지 않는 코드 분리하기 - 메소드 추출
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.