← 질문 목록
#171깊이 0

정적 클래스 내부에 정적 메서드를 정의하는 이유는 무엇인가?

프레임워크기초메모리설계 원칙

객체 생성 없이 기능을 제공하기 위해서다. 상태를 가지지 않는 유틸리티 성격의 기능을 묶어두는 용도로 사용한다.

대상무엇인가무엇을 얻는가
정적 클래스유틸리티 클래스인스턴스화 비용을 없앤다
정적 메서드상태 없는 로직같은 입력이면 같은 결과가 나온다

정적 클래스로 선언하면 외부에서 new 키워드로 인스턴스를 생성하는 것을 막을 수 있다. 이는 클래스가 단순한 도구 모음임을 명확히 알리는 설계적 의도이다.

정적 메서드는 인스턴스 변수(필드)에 접근할 수 없다. 자기를 부른 객체가 없으므로 this가 없다. 다만 참조를 받으면 그 객체의 필드도 보고 바깥 상태도 쓴다. 테스트 코드 작성 시 모킹(Mocking)가 어렵다는 단점이 있다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

정적 클래스 내부에 정적 메서드를 정의하는 이유는 무엇인가?