inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

문제와 풀이

createOrder 메서드 생성 관련 질문

123

mm4884

작성한 질문수 5

0

image.png

이 메서드를 만들 때 ProductOrder 인스턴스를 order로 만드는 것과 orders로 만드는 것에 어떤 차이가 있나요? orders로 만드니까 계속 오류가 나서요,,

 

productName에 order 인스턴스에 있는 product를 대입하는 게 아니라 order.productName에 productName을 대입하는 것인지도 궁금합니다

java 객체지향

답변 2

0

생각하는자

문제와 풀이를 보니까

order는 1개의 상품의 내용들을 저장하기 위한 것입니다. ex) 초코바 하나

orders[]로 만든것은 상품을 여러 개 저장하기 위해서 만든 것입니다. ex) 초코바들 을 저장하는 포장지

 

그리고 mm4884님 코드를 보면 당연히 오류가 날수 밖에 없습니다.

코드를 보면 객체를 생성하고,ProductOrder order = new ProductOrder();

그 객체의 값을, 선언한 변수에 담으려고 하고 있습니다. productName = order.productName;

이렇게 하면 객체는 만들어 졌지만, order.productName; 이 값에 아무것도 안 들어 있기 때문에 빈 값이 들어가게 됩니다.

이런 식으로 해서 return을 하게 되면, order 라는 값에 빈 껍데기 객체만 반환하게 되서, 나중에 값을 불러 올 때 오류가 발생하게 되요.

그러니 이 코드를 잘 수행되게 할려면 order.productName = productName; 이런 코드로 바꿔야 됩니다.

0

인프런 AI 인턴

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

mm4884님, createOrder 메서드에서 ProductOrder 인스턴스를 order로 만드는 것과 orders로 만드는 것에 관한 차이를 이해하고자 하셨군요. 이와 관련된 기존 답변을 살펴보았습니다.

  1. createOrder 메서드에서의 order 사용 이해하기:

    • orderProductOrder 클래스의 인스턴스를 만들기 위한 지역 변수입니다. 이는 메서드 내에서 개별 ProductOrder 객체를 생성하고 반환하기 위해 사용됩니다.
  2. orders로 인스턴스를 만들 때 발생할 수 있는 문제:

    • orders는 대개 배열이나 컬렉션을 담기 위한 변수명으로 사용하는 경우가 많습니다. createOrder 메서드 내에서는 하나의 ProductOrder 객체를 생성하는 것에 초점을 맞추므로, 인스턴스 변수명을 orders로 사용하려 할 때 혼동이 있을 수 있습니다.

보다 자세한 이해를 돕기 위해 다음 유사한 질문과 답변들을 참고해 보시기 바랍니다:

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

질문있습니다

0

23

1

1번 문제 질문입니다.

0

29

1

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

0

24

1

9장 상속 문제와 풀이 질문

0

35

1

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

0

46

2

매서드 참조값 반환??

0

63

1

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

0

67

1

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

0

83

1

공부방법

0

72

2

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

0

80

1

static method 질문

0

63

1

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

0

93

1

Method1에서 Student 객체

0

71

1

3강 18. null 질문

0

65

1

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

0

73

1

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

0

95

1

문의

0

102

1

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

0

87

1

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

0

59

1

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

0

72

1

수강기한

0

133

1

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

0

84

1

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

0

85

1

추가 지식 학습

0

150

2