Model

dev_Black_Snake·2024년 1월 12일

용어정리

목록 보기
2/25

사전적 정의

객체, 시스템, 또는 개념에 대한 구조나 작업을 보여주기 위한 패턴, 계획, 또는 설명

용어 설명

현실 세계에 존재하는 시스템을 특정한 목적의 디지털 시스템으로 만들기 위한 설계도모델이라고 볼 수 있다. 객체는 무한대에 가까운 상태와 행위를 가질 수 있는데, 그걸 전부 구현해서 디지털화하는 것은 비용 낭비다. 그래서 특정 목적을 갖는 상태와 행위를 domain에 맞춰서 추출해야 하는데, 그 과정을 객체 모델링(Object Modeling)이라고 한다.

우리가 은행 서비스를 만드는데, '해당 사용자가 애완동물을 키우는지의 여부'가 그렇게 중요할까? '그 사람이 배가 고픈지에 대한 정보'가 중요할까? 전혀 그렇지 않다. 어떤 은행 서비스 시스템을 동작시키는데 필요한 핵심 요소들만 추상화하면 충분히 은행 서비스를 구축할 수 있다. 하지만 모델에 정답은 존재하지 않는다. 누군가는 은행 서비스에 '닉네임'이 필요하다고 할 수 있고, 누군가는 은행 서비스에 '신용등급'이 필요없다고 할 수도 있다.

어떤 목적을 가지고 개발하는가에 따라서 이상적인 모델의 형태는 다를 수밖에 없다. 그러므로 개발자는 효율적인 개발을 위해서 뛰어난 알고리즘을 구현하는 능력 뿐만 아니라, 시스템을 효율적으로 모델링하는 능력 또한 중요하다고 할 수 있다.

여담으로, 모델은 UML을 활용하여 구현한다.

profile
"개발 관련 용어 간단 정리"가 이 블로그의 메인 컨텐츠입니다. 목표는 "개발자들의 위키백과"를 만드는 것입니다. 포스트를 읽는데 요구되는 시간이 대부분 1분 내외이므로, 개발 용어를 리마인드하고자 하면 제 포스트들을 여러 개 읽어보는 것을 추천합니다.                                ※ 주의 : 현재 velog 검색엔진의 문제로, 제 블로그에서 검색하면 제 글이 검색이 안됩니다. 해결법은 제 블로그의 소개글을 확인해주세요.

0개의 댓글