• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

24.02.15 15:23 작성 24.02.15 15:27 수정 조회수 277

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. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.02.15

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

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

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

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

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

감사합니다.

채널톡 아이콘