inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

객체 지향 프로그래밍 입문

기능과 책임 분리

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

533

home

작성한 질문수 8

0

안녕하세요. 강사님.

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

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

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

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

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

객체지향

답변 2

1

최범균

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

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

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

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

0

인프런 AI 인턴

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

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

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

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

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

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

IntelliJ IDEA 체험 만료

0

6

1

예외처리 3강 문의

0

18

1

진짜화면이랑달라서못해먹겟어요먹겟어요

0

61

1

[영한님]Spring Boot 및 프로젝트 생성

0

52

2

Shape 클래스 실습 코드 피드백 요청드립니다

0

48

2

퀴즈가 안열려요

0

75

2

run() 메서드 안에 지역변수 sum을 사용한 이유

0

83

1

강의 화면이 안나와요

0

76

1

중급 과정 학습 중 복습과 진도 진행의 우선순위에 대해 질문드립니다

0

85

1

빠져나오기 위해서 System.in을 닫는다는게 무슨 의민가요??

0

58

1

문제2번

0

69

1

중복 코드와 유지보수성 사이에서 어떤 기준으로 리팩토링해야 할지 궁금합니다

0

53

1

static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?

0

76

1

회원 도메인 인터페이스 개발

0

65

1

코드 버그

0

51

1

강의자료

0

57

1

강의 영상 업로드 질문

0

65

2

빈 스코프 개념의 중요성

0

65

1

인텔리제이 설정 최신화 관련 확인 부탁 드립니다!

3

170

2

강의 수준 질문드려요

0

457

1

6분 26초에 말하는 객체의 안에 있는 프로시저란 객체의 메서드를 말하는건가요?

0

420

1

객체의 기능보다 속성을 먼저 추출하는 것에 대해 의견을 여쭤보고 싶습니다.

0

454

1

의존 대상 객체를 직접 생성했을 때 문제에 대해 질문드립니다.

0

460

2

객체지향 프로그래밍과 캡슐화의 차이가 궁금합니다.

0

697

1