250x250
Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 큐
- Java
- sql
- priority_queue
- set
- spring boot
- javascript
- html
- 스프링부트
- Union-find
- 힙덤프
- deque
- date
- string
- CSS
- NIO
- alter
- List
- Calendar
- JPA
- map
- math
- 스택
- GC로그수집
- scanner
- BFS
- Properties
- dfs
- 리소스모니터링
- union_find
Archives
- Today
- Total
매일 조금씩
유틸리티 클래스 사용 시 주의 사항 "Add a private constructor to hide the implicit public one" 본문
Java
유틸리티 클래스 사용 시 주의 사항 "Add a private constructor to hide the implicit public one"
mezo 2024. 10. 26. 19:07728x90
반응형
모든 메서드가 static인 유틸리티 클래스에서 "Add a private constructor to hide the implicit public one"라는 메시지를 볼 수 있다.
이 경고는,
Java에서는 클래스를 선언하면 기본적으로 파라미터가 없는 public 생성자가 암묵적으로 제공되어서,
클래스 외부에서도 해당 클래스의 인스턴스를 만들 수 있게 되어, 이를 방지하라는 의미이다.
보통 유틸리티 클래스는 인스턴스 생성이 불필요하므로,
생성자를 private으로 만들어 인스턴스를 생성하지 못하게 하는 것이 일반적인 방식이다.
다음 코드는 예시이다.
package com.tmax.talkstream.dto.service;
import lombok.Builder;
import lombok.Getter;
import org.springframework.data.domain.Sort;
public class RoomDto {
// 유틸리티 클래스의 기본 생성자 private 처리
private RoomDto() {
throw new IllegalStateException("Dto group class");
}
@Getter
@Builder
public static class GetReq {
private String roomId;
private int page;
private int size;
private String field;
private Sort.Direction sort;
}
}
728x90
반응형
'Java' 카테고리의 다른 글
Servlet 이란? Spring 에선 어떻게 사용하고 구현되는지? (0) | 2024.11.03 |
---|---|
Java EE 란? Spring framework 와 경쟁? 상호 보완? (1) | 2024.11.03 |
익명 클래스와 람다식의 차이 (0) | 2022.02.14 |
Thread와 synchronized (0) | 2022.02.14 |
[JPA] save와 persist차이 (save, persist, merge개념) (0) | 2022.02.07 |