Backend/JAVA

[JAVA] JAVA 설계시 패키지 구분 (entity/utillity/controller)

JOKUN 2022. 8. 3. 22:09

 

 

 

코드를 구현할 때 가장 먼저 하는 것은 패키지 생성!

패키지는 디렉토리로 컴퓨터에서 폴더와 같은 개념으로 보면 되는데

비슷한 기능을 하는 것들을 묶어 놓은 것이다.

 

현재 웬만한 코드들은 아래와 같은 패키지들 안에 넣어서 구현을 하고 있는데 

과연 저 controller와 entity와 utillity는 어떤 기준으로 분류가 되어 있는가!?에 대한 정리!

 

 

⚙️controller

컨트롤러는 말 그대로 컨트롤이 필요한 코드들을 작성한다.

Spring에서 예를 들면, 진입할 URL 경로를 설정하고 

프로그램을 동작 시킬 때 어느 메서드를 동작을 시킬 것인지 순서도 컨트롤할 수 있으며,

컨트롤러 안에서 가변적으로 작동하는 변수들을 관리 할 수도 있다.

작성해 놓은 다른 클래스/객체들을 여기서 가져와서 관리할 수 있다.

사용자 URL 요청에 대한 제어들을 할 수 있는 곳이 controller!

 

 

🙋‍♀️entity

entity는 독립체라는 뜻이다.

여기서는 보통 독립적인 데이터를 관리하는 클래스들이 담긴다.

예를 들어 주사위 게임에 대한 프로그램을 한다고 했을 때

플레이어를 관리하는 클래스, 점수를 관리하는 클래스들이 entity에 담긴다.

 

 

 

🎡utillity

utillity는 다용도의(다목적의)라는 뜻을 가지고 있다.

이 뜻 처럼 utillity는 자주 사용하고, 반복되는 패턴의 기능들을 다룬다.

java에서 Math class가 대표적인 유틸리티 클래스!

언제나 일관되게 동일한 처리를 수행하는 것들은 utillity에 담긴다.

 

 

 

 

이렇게 정리해 놔도 사실은 아직도 내가 짜는 클래스들을 어느 패키지에 배치시켜야하는지 헷갈린다.

수업을 하면서 구분되어지는 클래스 데이터들이 모이면 좀 더 정확하게 구분이 가능할 것 같다.🤔