모델(Model)

Soobin Kim·2024년 3월 27일

공부

목록 보기
10/15

정의 및 특징

객체지향 프로그래밍에서 Model은 현실 세계의 객체를 프로그래밍적으로 표현하는 구조이다.
클래스를 Model을 설계하는 도구로 사용하여 객체의 역할과 특성을 정의하고, 이를 통해 소프트웨어 내에서 객체의 상호작용을 구현한다.

  • 객체들은 각각의 역할을 가지고 있으며, 이 역할이 정해져 있다는 의미로 객체를 설계할 때 Model을 만든다고 표현한다.
  • Model은 데이터의 구조와 행동을 정의하며, 데이터의 처리 방식과 비즈니스 로직을 구현하는 데 사용된다.
  • 현실(Object) = 클래스(Class, 프로그래밍적) = Model(소프트웨어 공학적)

종류

  1. DTO(Data Transfer Object), VO(Value Object)
    데이터를 하나로 묶어서 이동시킬 때 사용하기 위해 만들어지는 Model.
    데이터 이동을 효율적으로 처리하고, 네트워크나 다른 계층 간의 정보 전송 시 사용된다.

  2. DAO(Data Access Object)
    데이터베이스에 있는 데이터를 처리하기 위해 만들어지는 Model.
    저장, 수정, 검색, 삭제 등 데이터베이스와의 상호작용을 담당하며, 데이터베이스와 비즈니스 로직을 분리하여 개발을 용이하게 한다.

  3. Utility Model
    반복적으로 사용해야 할 동작을 별도의 클래스로 분리하여 필요한 시점에 사용하는 Model.
    예를 들어, 날짜나 통화 정보를 다루는 유틸리티 클래스와 같이, 자주 사용하는 기능을 재사용할 수 있게 해준다.


이와 같은 다양한 종류의 Model은 객체지향 프로그래밍에서 각 객체가 맡은 역할을 명확히 하고, 시스템 전반에 걸쳐 효율적이고 유지보수 가능한 코드를 작성하는 데 중요한 역할을 한다.

0개의 댓글