작성
·
343
·
수정됨
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
안녕하세요. kd6904님, 공식 서포터즈 y2gcoder입니다.
질문 1. 기능적으로는 똑같은거 같은데 둘의 차이가 있습니까?
=> 말씀하신 것처럼 기능적인 차이는 없습니다!
질문 2. 뭔가 똑같아 보이긴 하지만 김영한 선생님이 작성한 코드니까 더 좋아 보이는 이유가 있는거 같은데 혹시 둘의 차이 설명 가능한가요?
=> 자바 기본편의 수강자들의 이해를 돕기 위해 변수로 다시 뽑아내서 가독성을 높였다고 보시면 될 것 같습니다! 상황에 따라서는 이렇게 변수로 재할당하지 않고 kd6904님께서 사용하시는 것과 같이 바로 사용하는 게 가독성이 더 좋을 때도 있습니다. 정답은 없고 그 때의 여러 요건에 따라 맞춰서 사용하시면 됩니다 :)
감사합니다.