강의

멘토링

커뮤니티

Inflearn Community Q&A

devyilee2224's profile image
devyilee2224

asked

Introduction to Object Oriented Programming

organize

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

Resolved

Written on

·

398

·

Edited

0

안녕하세요. 강사님.

객체는 제공하는 기능으로 정의된다!
=> 회원 객체 (암호 변경하기 기능)

 

대부분의 프로그램은 정보 표현을 위한 데이터(구조체, 객체)는 존재하기 마련일텐데요. 제가 생각하기에 회원이라는 객체는 초기 설계 과정에서 제공해야 될 기능에 중점을 두기보다는 "일반적으로 표현해야 될 정보에 기반(표현 정보 = 관리해야 될 데이터)해서 추출되지 않나?" 가 저의 생각입니다.

여기서 궁금한점은 표현해야 될(관리해야 될 데이터) 정보를 구조화한 것에 관련된 데이터를 조작하는 기능을 추가해도 외부에 제공하는 기능으로 정의된다는 말씀은 만족한다고 볼 수 있을까요 ?

제가 강의를 듣고 정리하자면 객체를 설계할 때는 외부에 제공할 기능에 중점을 두고 설계를 해야되는 것이라고 받아들였는데 기능보다 데이터가 중심이 되는 구조체성 자료에 기능을
할당하는 것도 올바른 방향인건지 여쭤보고 싶습니다.

 

감사합니다!

객체지향

Answer 1

1

madvirus0123님의 프로필 이미지
madvirus0123
Instructor

데이터를 구조화한 것에 관련 데이터를 조작하는 기능을 추가하는 것도 외부에 제공하는 기능으로 정의하는 게 맞습니다.
보통 DB에서부터 구현이 출발할 때 말씀하신 것처럼 데이터 구조를 먼저 생각하고 그 다음에 기능을 도출하게 되죠.중요한 점은 캡슐화를 최대한 지키면 됩니다.실제 개발을 하다보면 당연히 아래 두 관점을 왔다 갔다 하게 됩니다.* 외부 관점에서 사용할 기능
* 구현 관점에서 데이터/구조일방적으로 한 방향으로 설계가 진행되기 보다는 두 관점을 오가면서 설계가 완성되어 간다고 보면 됩니다.

devyilee2224's profile image
devyilee2224

asked

Ask a question