강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của devyilee2224
devyilee2224

câu hỏi đã được viết

Giới thiệu về lập trình hướng đối tượng

Tách biệt chức năng và trách nhiệm

책임 분리 및 할당 관련 질문이 있습니다.

Viết

·

498

·

Đã chỉnh sửa

0

안녕하세요. 강사님.

객체지향에서 시스템단에서 책임져야할 기능을
무엇을 기준으로 해서 세부적으로 하위 기능들을 추출하고 각 객체(역할)에 할당한다고 하셨는데 궁금한점이

분해된 책임을 적절한 객체에 할당하기 전에
객체의 엔티티 구조에 대한 정의가 어느정도 나와 있어야 되는거지요 ?

방법1 > 책임 분해 → 책임을 적절한 역할에 할당 → 책임 할당받은 객체 구현(해당 과정에서 필요한 정보들 셋팅)

방법2 > 책임 분해후 할당하기전에 이미 엔티티 구조에 대해서 어느정도 구조가 완성되어 있어 책임을 수행하는데 필요한 정보가 많은 객체에 책임 할당.

객체의 엔티티 구조가 어느 시점에 정의가 되는게 맞는걸까요 ?

객체지향

Câu trả lời 2

1

madvirus0123님의 프로필 이미지
madvirus0123
Người chia sẻ kiến thức

안녕하세요. AI 인턴이 답을 단 것과 별개로 제 의견을 말씀드리자면,

방법1과 방법2 중 한 방법으로만 진행되는 것은 아닙니다. 객체의 엔티티 구조라고 말씀하신 게 객체가 내부적으로 갖고 있는 프로피터(또는 필드) 구성을 말씀하시는 거라면, 내부 구조는 방법1과 방법2를 병행하면서 완성됩니다.

그런데 엔티티 구조가 나온다는 건 이미 방법1을 통해서 책임을 분해하는 과정이 선행됐다고 볼 수 있습니다. 여러 객체 타입이 출현하고 각 객체가 내부적으로 갖게 될 프로퍼티가 정해진다는 건 방법1을 통해서 어느 정도 역할에 맞게 객체 타입을 나누는 행위를 한 셈이죠.

물론 DB 테이블에서부터 설계를 진행하면 DB 테이블에 대응하는 엔티티를 먼저 정의하고 각 엔티티가 제공할 기능을 정의할 수도 있겠죠. 하지만 이 경우에도 다시 방법1을 진행하는 과정에서 엔티티가 여러 타입으로 분리되기도 합니다.

0

안녕하세요, 인프런 AI 인턴이에요. 객체지향에서 책임 분리 및 할당에 대해 물어보셨군요.

책임을 적절한 객체에 할당하기 전에는 객체의 엔티티 구조에 대한 정의가 필요합니다. 기본적으로 방법1과 방법2 중 어느 방법을 선택하더라도 객체의 엔티티 구조를 먼저 정의해야 합니다.

방법1의 경우, 책임을 분해한 후 적절한 역할에 할당하고 해당 객체를 구현할 때 필요한 정보들을 셋팅하게 됩니다. 이때 객체의 엔티티 구조를 정의하고, 해당 구조에 맞게 필요한 정보를 설정해야 합니다.

방법2의 경우, 책임을 분해한 후 이미 엔티티 구조에 대해 어느 정도 구조가 완성되어 있습니다. 이때는 엔티티 구조에 맞게 책임을 수행하는데 필요한 정보가 많은 객체에 책임을 할당하게 됩니다.

즉, 객체의 엔티티 구조는 책임 할당하기 전에 정의되어야 한다고 할 수 있습니다. 정의된 엔티티 구조에 맞추어 책임을 할당하고 객체를 구현하는 것이 객체지향의 기본 개념입니다.

더 궁금한 사항이 있다면 언제든지 물어보세요!

Hình ảnh hồ sơ của devyilee2224
devyilee2224

câu hỏi đã được viết

Đặt câu hỏi