inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

문제와 풀이

김영한의 실전자바-기본편 섹션6 연습문제 두번째

418

kd6904

작성한 질문수 1

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
 김영한의 실전자바 기본편 섹션6 연습문제 두번째 문제에서 코드에서 제가 작성한 코드와 김영한 선생님이 작성한 코드가 다른데 차이점을 알고 싶습니다.

//저의 코드
    public void displayItems() {
        System.out.println("장바구니 상품 출력");

        for (int i = 0; i < itemCount; i++) {
            System.out.println("상품명:" + items[i].getName() + ", 합계:" + items[i].sumPrice());
        } //비교하고싶은 부분

        System.out.println("전체 가격 합: "+totalPrice());
    }


//김영한 선생님 코드
public void displayItems() {
  System.out.println("장바구니 상품 출력");

  for (int i = 0; i < itemCount; i++) {
    Item item = items[i];//저와 다른 부분
    System.out.println("상품명: " + item.getName() + ", 합계: " + item.getTotalPrice());
  }
  System.out.println("전체 가격 합: " + calculateTotalPrice());
}

저의 코드는 items[i] 의 참조값의 getName과 sumPrice를 불러서 프린트 했고,

김영한 선생님은 items[i]를 item에 할당해서 item의 getName과 Price를 프린트 했지 않습니까? 

 

질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까?

 

질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?

java 객체지향

답변 1

0

y2gcoder

안녕하세요. kd6904님, 공식 서포터즈 y2gcoder입니다.

질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까?

=> 말씀하신 것처럼 기능적인 차이는 없습니다!

질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?

=> 자바 기본편의 수강자들의 이해를 돕기 위해 변수로 다시 뽑아내서 가독성을 높였다고 보시면 될 것 같습니다! 상황에 따라서는 이렇게 변수로 재할당하지 않고 kd6904님께서 사용하시는 것과 같이 바로 사용하는 게 가독성이 더 좋을 때도 있습니다. 정답은 없고 그 때의 여러 요건에 따라 맞춰서 사용하시면 됩니다 :)

감사합니다.

질문있습니다

0

30

1

1번 문제 질문입니다.

0

35

1

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

0

28

1

9장 상속 문제와 풀이 질문

0

38

1

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

0

50

2

매서드 참조값 반환??

0

67

1

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

0

71

1

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

0

85

1

공부방법

0

77

2

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

0

82

1

static method 질문

0

67

1

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

0

98

1

Method1에서 Student 객체

0

74

1

3강 18. null 질문

0

69

1

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

0

77

1

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

0

97

1

문의

0

104

1

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

0

90

1

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

0

62

1

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

0

74

1

수강기한

0

136

1

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

0

88

1

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

0

87

1

추가 지식 학습

0

153

2