inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 기본편

문제와 풀이

1번 문제 질문입니다.

20

Choi

작성한 질문수 6

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

image.png


이런식으로 풀어봤는데요 객체지향적으로 만들어진건지 확인부탁드립니다!

java 객체지향

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Choi님.

객체지향 프로그래밍에서 클래스는 데이터를 나타내는 필드와 동작을 나타내는 메서드로 구성됩니다. 질문하신 코드 예시에서는 Rectangle 클래스 안에 넓이와 둘레를 계산하고, 정사각형 여부를 체크하는 메서드들이 정의되어 있어 객체지향 설계를 따르고 있습니다.

하지만 객체지향 프로그래밍의 중요한 원칙 중 하나는 캡슐화와 데이터의 은닉입니다. 코드에서는 필드 width, height, area, perimeter를 퍼블릭 상태로 둔 듯하지만, 외부에서 직접 접근 보다는, 이를 private 상태로 유지하고 getter/setter 메서드를 이용해 접근하는 것이 바람직합니다. 이는 클래스를 사용하는 다른 코드와의 결합도를 낮춰 유지보수를 용이하게 하기 위함입니다.

또한, 메서드(calculateArea, calculatePerimeter, isSquare)의 출력 관련 책임도 고려해서, 메서드는 가능한 한 단일 책임 원칙에 따라 작성하는 것이 좋습니다. 예를 들어, 각 계산 메서드는 단순히 계산된 값을 반환하고, 출력을 담당하지 않는다면, 메인 메서드에서는 필요한 경우에만 결과를 출력할 수 있습니다.

이미 인프런 플랫폼에서는 비슷한 주제와 관련된 질문들이 공유되고 있습니다. 그중 몇 가지가 유사한 주제를 다루고 있어 해당 링크를 통해 더 많은 정보를 얻으실 수 있습니다:

이 링크에서는 객체지향 프로그래밍에서의 메서드 분리와 설계 관련해서 또 다른 사용자와의 의견을 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

질문있습니다

0

16

1

음악플레이어 문제 중 코드질문

0

16

1

9장 상속 문제와 풀이 질문

0

31

1

강의 자료에 사소한 오타가 있습니다.

0

42

2

매서드 참조값 반환??

0

60

1

접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드

0

63

1

자바 기본편 - .(dot)에 관한 질문입니다!

0

82

1

공부방법

0

71

2

상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?

0

78

1

static method 질문

0

60

1

캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요

0

90

1

Method1에서 Student 객체

0

70

1

3강 18. null 질문

0

64

1

this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?

0

72

1

팩토리 메서드 패턴과 일반 생성자 사용의 장단점

0

94

1

문의

0

101

1

9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다

0

84

1

상속과 그에 따른 메모리 구조 질문

0

59

1

call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다

0

71

1

수강기한

0

132

1

기본편 객체지향 프로그래밍에 대한 정의

0

82

1

섹션10 상속 메모리 구조 및 문제 관련 질문

0

84

1

추가 지식 학습

0

149

2

private 변수에 대한 질문

0

68

1