inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이2

조건문 문제와풀이2 평점에 따른 영화추천 풀이 질문

59

이진호남선

작성한 질문수 4

0

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


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

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

[질문 내용]
조건문 문제와풀이2 에서 평점에 따른 영화추천문제와 관련된질문입니다.

강의에서는 영한님께서 if문을 묶지 말라고하셨는데 아래 코드처럼 작성하면 안된다는 말인가요? 실행에는 문제가 없는거 같은데 영한님이 말씀하신 의도가 궁금합니다.

package cond.ex;

public class MovieRateEx_re {

    public static void main(String[] args) {

        double rating = 8.1;

        if (rating >= 9) {
            System.out.println("'어버웃타임'을 추천합니다");
        } else if (rating >= 8) {
            System.out.println("'어버웃타임'을 추천합니다");
            System.out.println("'토이스토리'을 추천합니다");
        } else if (rating >= 7) {
            System.out.println("'어버웃타임'을 추천합니다");
            System.out.println("'토이스토리'을 추천합니다");
            System.out.println("'고질라'을 추천합니다");
        }

    }
}

java 객체지향

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 이진호남선님.

질문하신 사항은 “조건문 문제와 풀이2”에서의 평점에 따른 영화 추천 문제와 관련된 내용입니다. 코드가 실행되는 데는 문제가 없으나, 강의에서 김영한님은 특정 코드 스타일을 지양하기를 권장하신 것 같습니다.

Why Avoid Nested Conditions?

강의에서 언급된 ‘if 문을 묶지 말라’는 조언은 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 합니다. 코드가 작동하긴 하지만, 중복된 코드는 이해하기 어렵고, 나중에 수정이나 확장이 필요할 때 더 큰 문제가 될 수 있습니다. 중복을 제거하고 조건의 표현을 간결하게 하여 코드를 더 명확하게 만드는 것이 좋습니다.

예를 들어

  • 각 영화에 해당하는 if 조건이 반복되어 있습니다. 특정 조건에 따라 메시지를 출력하는 것이므로, 이 중복을 줄이는 것이 코드 품질을 향상시킬 수 있습니다.

  • 중복되는 코드를 줄이는 또 다른 방법은 배열이나 리스트를 사용하여 출력할 영화 목록을 저장한 후, 별도의 반복문을 사용해 이를 출력하는 방식입니다.

기존 질문과 답변 참고 링크

다음 링크들을 통해 다른 학습자의 질문과 답변을 참고해 보세요:

  1. 조건문 문제와 풀이2 첫 번째 문제 - 조건 검토 및 코드 최적화에 관한 토론입니다.
  2. 중복 if 문 - 중복 코드 제거에 대한 설명입니다.

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

문제와 풀이4 문제점

0

58

2

문제풀이 시간마다 방향성

0

53

2

피라미드 문제 풀이

0

75

1

ScannerWhile3 예제 코드 질문

0

62

1

짝수 출력 문제 질문

0

55

1

Array 연습 문제 5번 질문입니다.

0

87

2

단축어가 이상하게 나옵니다

0

137

2

Sql강의

0

97

1

array 문제풀이 2번 질문입니다.

0

58

1

JAVA입문 / 메서드편 문제와 풀이2

0

53

1

인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요

1

842

3

OperationEx3에서 꼭 boolean을 써야 하나요?

0

65

1

for, while문 작성

0

68

1

68강 ArrayEx6 클래스 질문

0

63

1

IO.println(String.format("Hello and welcome!"));

0

156

2

소스코드 실행이 안돼요

0

125

2

메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?

0

81

1

While과 for 스코프 질문

0

65

1

김영한 java 입문 설치 질문

0

144

2

버퍼문제?

0

56

1

for문 피라미드 찍는거 질문

0

80

1

21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.

0

384

1

3번 문제 질문 있습니다.

0

100

2

sout에는 변수가 하나만 들어가야 하나요?

0

137

1