← 질문 목록
#150깊이 0
정적 클래스 내부에 정적 메서드를 정의하는 이유는 무엇인가?
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
객체 생성 없이 기능을 제공하기 위해서다. 상태를 가지지 않는 유틸리티 성격의 기능을 묶어두는 용도로 사용한다.
| 대상 | 무엇인가 | 무엇을 얻는가 |
|---|---|---|
| 정적 클래스 | 유틸리티 클래스 | 인스턴스화 비용을 없앤다 |
| 정적 메서드 | 상태 없는 로직 | 같은 입력이면 같은 결과가 나온다 |
정적 클래스로 선언하면 외부에서 new 키워드로 인스턴스를 생성하는 것을 막을 수 있다. 이는 클래스가 단순한 도구 모음임을 명확히 알리는 설계적 의도이다.
정적 메서드는 인스턴스 변수(필드)에 접근할 수 없다. 자기를 부른 객체가 없으므로 this가 없다. 다만 참조를 받으면 그 객체의 필드도 보고 바깥 상태도 쓴다. 테스트할 때 가짜로 바꾸기 어렵다는 단점이 있다.