일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CVAT
- Spring
- Packet
- Trino
- airflow
- JavaScript
- Python
- CSV
- AWS
- zookeeper
- Vision
- grafana
- MAC address
- kubeadm
- helm
- EC2
- kubernetes
- PostgreSQL
- aws s3
- tcp
- ip
- docker
- OS
- kubectl
- Operating System
- jvm
- Kafka
- log
- java
- Network
Archives
- Today
- Total
JUST WRITE
Utility Class 본문
Utility Class
Utility Class는 Helper Class로도 알려져 있다.
아래와 같은 특징을 가지고 있다.
- Static Method들만 존재
- 상태 저장 X(stateless)
- 인스턴스 X
Application 전반적으로 사용하는 Method들을 모아놓은 Class이다.
대표적인 Utility Class로는 Apache StringUtils, CollectionUtils, java.lang.Math 등이 있다.
Utility Class는 인스턴스화를 막기 위해서 final Class로 정의한다.생성자 역시 private로 선언한다.
public final class UtilityClass {
// Private constructor to prevent instantiation
private UtilityClass() {
throw new UnsupportedOperationException();
}
//public static methods here
}
Utility Class와 OOP
Utility Class는 OOP(Object-Oriented Programing)보다는 Functional Programing에 가깝다.
OOP에서 Object는 Attribute와 Method를 모두 가지고 있다.
하지만 Utility Class에서는 오직 Method만을 가진다.
인스턴스화가 필요하지 않기 때문에 일반 Class보다 작성과 활용이 쉽다.
Utility Class 주의점
Utility Class는 유지보수가 어렵다.
잘 관리하지 않으면 무분별한 Method들이 작성되면서 잡동사니가 될 수 있다.
한 명이 아닌 다수의 개발자가 Utility Class를 작성하면 비슷한 Method들도 무분별하게 만들어질 수 있다.
[참고사이트]
728x90
반응형
'Programing > Java' 카테고리의 다른 글
Checked and Unchecked Exceptions (0) | 2022.02.04 |
---|---|
JRE (0) | 2021.11.28 |
JVM (0) | 2021.11.27 |
Serialization (0) | 2021.11.20 |
Optional (0) | 2021.10.31 |
Comments