inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Do it! 자바 프로그래밍 입문 with 은종쌤

오버라이딩과 다형성(3)

11분쯤 price, int price 질문

353

bj jung

작성한 질문수 10

0

안녕하세요

질문이 있어 문의 드립니다

 

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

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

 

감사합니다.

java

답변 1

0

볼록볼록한 랫서팬더

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으로 값이 초기화가 되어있습니다.

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

이클립스 활성화가 안되는부분이있어요ㅜㅜ

0

435

1

책에 자료실

0

498

1

StudentID

0

561

1

인터페이스와 가상 메서드

0

357

1

For문 (중첩된 반복문) 구구단 문의 드립니다.

0

791

1

반복문 별 출력 연습문제

0

398

1

비트 연산자 질문입니다.

1

375

1

Scheduler scheduler = null 굳이 하는 이유가 있나요

1

336

0

Class간의 연결

1

297

1

선생님 스킬

0

400

1

초기화 에러!!!

0

286

1

선생님 영상에서 목소리가 좀 작은 것 같습니다 ㅠㅠ

2

304

0

출력

2

233

0

Main 함수 저번 강의 거가 나와요

0

319

1

결과값오류

1

226

0

printIn 함수 질문

0

456

1

24분 57초에 질문 있습니다!!

0

364

1

1분36초쯤에 말씀하시는 자바닥??그거 보라고 하셨는데 자바닥이 뭐죠..?

0

253

1

메서드와 생성자

0

399

2

참조형 데이터 타입은 클래스 이름과 같아야 하나요?

0

287

1

반환값은 정수 밖에 안되나요?

0

274

1

9분33초 설명!!부탁 드립니다!

0

300

1

48분쯤에 {"B","C","D""} 를 왜 {'B','C','D'}로 바꿨죠?

0

298

1

for (byte b : bs) 가 뭐죠..

0

505

1