작성
·
91
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
여기에 질문 내용을 남겨주세요.
문제1번을 풀었는데 좀 달라서요..답은 나오는데 역시 틀렸다고 보는게 맞겠죠?
답변 2
1
안녕하세요. whydoubleon님, 공식 서포터즈 y2gcoder입니다.
저희가 객체지향프로그래밍에서 배운 객체는 속성(데이터)와 기능(메서드)을 하나로 묶어서 하나의 개념을 만드는 것이었습니다 🙂
이를 기준으로 잡아서 피드백을 드리자면, 만들어주신 Rectangle 클래스는 속성 자리는 있으나 속성이 객체 내에서 관리되지 않고, 기능을 제공하나 매번 속성을 받아서 처리하고 있습니다 🙂 그러한 점에서 봤을 때 Rectangle은 우리가 정의한 객체보다는 MusicPlayerMain3에서 보았던 구조와 유사하게 속성과 따로 존재하는 메서드들의 집합에 더 가까운 것 같습니다!
만드신 속성을 이용해서 기능을 만들어보면 더 좋을 것 같습니다!
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
whydoubleon님께서 말씀하신 문제에 대한 답변을 위해 기존의 강의 사례나 질문 게시판을 찾아보았습니다. 질문하신 내용은 객체 지향 프로그래밍에서 클래스 메서드의 설계 및 사용에 대한 내용으로 보여집니다. 이에 관한 다양한 의견 및 코드 스타일이 있을 수 있으나, 일반적으로 객체지향 설계에서는 각 메서드가 특정 책임을 가질 수 있도록 설계하는 것이 좋습니다.
먼저, 제공해주신 코드에서 사용하는 메서드 이름에 철자 오류가 있는 것 같습니다. 메서드 이름이 “caculate”로 되어있는 부분은 “calculate”로 수정하는 것이 바람직합니다. 함수 이름이 기능을 명확히 나타낼 수 있도록 관리하는 것이 중요합니다.
해당 클래스에서 메서드에 파라미터로 width
와 height
를 받고 있는데, 클래스 필드로 선언되어 관리하는 것이 객체지향 도메인에서 더욱 적절합니다. 이렇게 하면 관련 데이터를 객체에 캡슐화하고, 파라미터 없이 객체 메서드로만 관리가 가능합니다.
유사한 질문에 대한 기존 답변들을 찾은 결과, 비슷한 개념과 관련하여 참고할 만한 자료가 있어 공유드립니다:
위의 답변들이 문제 해결에 도움이 되셨으면 좋겠습니다. 여전히 궁금한 점이 있으시면, 인프런 질문 게시판에 추가로 문의해 주시기 바랍니다. 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.