객체지향 프로그래밍에서 Model은 현실 세계의 객체를 프로그래밍적으로 표현하는 구조이다.
클래스를 Model을 설계하는 도구로 사용하여 객체의 역할과 특성을 정의하고, 이를 통해 소프트웨어 내에서 객체의 상호작용을 구현한다.
DTO(Data Transfer Object), VO(Value Object)
데이터를 하나로 묶어서 이동시킬 때 사용하기 위해 만들어지는 Model.
데이터 이동을 효율적으로 처리하고, 네트워크나 다른 계층 간의 정보 전송 시 사용된다.
DAO(Data Access Object)
데이터베이스에 있는 데이터를 처리하기 위해 만들어지는 Model.
저장, 수정, 검색, 삭제 등 데이터베이스와의 상호작용을 담당하며, 데이터베이스와 비즈니스 로직을 분리하여 개발을 용이하게 한다.
Utility Model
반복적으로 사용해야 할 동작을 별도의 클래스로 분리하여 필요한 시점에 사용하는 Model.
예를 들어, 날짜나 통화 정보를 다루는 유틸리티 클래스와 같이, 자주 사용하는 기능을 재사용할 수 있게 해준다.
이와 같은 다양한 종류의 Model은 객체지향 프로그래밍에서 각 객체가 맡은 역할을 명확히 하고, 시스템 전반에 걸쳐 효율적이고 유지보수 가능한 코드를 작성하는 데 중요한 역할을 한다.