• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

11분쯤 price, int price 질문

22.11.29 17:37 작성 조회수 197

0

안녕하세요

질문이 있어 문의 드립니다

 

11분쯤에 customerLee.calcPrice는 int price로 받았는데

customerKim.calcPrice는 타입없이 price로 하셨는데 이유가 있을까요?

 

감사합니다.

답변 1

답변을 작성해보세요.

0

@k1m2njun님의 프로필

@k1m2njun

2023.03.05

public static void main(String[] args) {
		
	Customer customerLee = new Customer(10010, "Lee");
	int price = customerLee.calcPrice(10000);
	System.out.println("지불금액은 " + price + "원 이고 " + customerLee.showCustomerInfo());
		
	VIPCustomer customerKim = new VIPCustomer(10010, "Kim", 100);
	price = customerKim.calcPrice(10000);
	System.out.println("지불금액은 " + price + "원 이고 " + customerKim.showCustomerInfo());
}

price는 현재 이 main 메서드 안에서만 사용되는 변수입니다.

여기서는 calcPrice 메서드에서 연산된 결과값을 price 변수에 저장해서 출력했는데,
변수에 자료형(int)을 명시한 것은 최초 변수를 선언하기 위함이고
두 번째 나온 price는 이미 위에서 변수가 선언되어있기 때문에 int를 추가로 명시하지 않은 것입니다.

결국 int price와 price는 같은 변수이고 즉 같은 메모리를 가집니다.
여기에서 price는 9,000으로 값이 초기화가 되어있습니다.

이 강의에서는 할인금액을 계산한 금액을 출력하기 위해
간단하게 보여준 예시입니다.