형 변환의 이유가 궁금합니다.
251
작성한 질문수 3
형 변환을 사용하면 선생님께서 설명해주신 것처럼 쓸 수 있다는 것은 이해가 되었습니다.
VIPCustomer customerWho = new VIPCustomer(10010, "Who", 100);
그런데 위와 같이 형 변환을 하지 않고 그대로 적은 것이랑 무슨 차이가 있는지 모르겠습니다.
감사합니다.
답변 2
2
VIPCustomer customerWho = new VIPCustomer(10010, "Who", 100)의 경우는
VIPCustomer 클래스에 적혀있는 메소드와 멤버변수를 사용할수있겠죠
타입을
Customer customerWho = new VIPCustomer(10010, "Who", 100) 로 했을경우에는
Customer 클래스에 정의한 메소드와 멤버변수를 활용할수있을것이구요
0
답변 감사합니다!
그런데 VIPCustomer는 이미 Customer를 상속받고 있어서 Customer의 메소드와 멤버변수를 사용할 수 있으니 VIPCustomer customerWho = new VIPCustomer(10010, "Who", 100)로 하는 것이 더 범용성이 큰 것 아닌가요?
2
VIPCustomer는 Customer를 상속받았으나 calcPrice라는 메소드를 오버라이딩해서 재정의했기때문에 메소드를 실행했을때의 결과값이 다릅니다.
따라서 상황에 맞게 타입을 정해서 사용해주시면 될것같습니다.
일반 고객도있어야하고
VIP고객도 있어야하기때문에
일반고객타입 -> Customer타입을 만들어두고
VIP고객타입 -> Customer타입을 계승
두개의 타입으로 나눈거고
VIP고객의 경우 별도의 할인가격이 필요했기에 Customer타입의 calcPrice메소드를 오버라이드해서 사용한것입니다.
VIP고객에게 일반고객 할인정책을 부여해서는 안되겠죠
따라서 범용성의 문제가 아니라고 생각됩니당.
이클립스 활성화가 안되는부분이있어요ㅜㅜ
0
435
1
책에 자료실
0
498
1
StudentID
0
561
1
인터페이스와 가상 메서드
0
357
1
11분쯤 price, int price 질문
0
353
1
For문 (중첩된 반복문) 구구단 문의 드립니다.
0
791
1
반복문 별 출력 연습문제
0
395
1
비트 연산자 질문입니다.
1
375
1
Scheduler scheduler = null 굳이 하는 이유가 있나요
1
336
0
Class간의 연결
1
297
1
선생님 스킬
0
400
1
초기화 에러!!!
0
286
1
선생님 영상에서 목소리가 좀 작은 것 같습니다 ㅠㅠ
2
303
0
출력
2
233
0
Main 함수 저번 강의 거가 나와요
0
319
1
결과값오류
1
226
0
printIn 함수 질문
0
455
1
24분 57초에 질문 있습니다!!
0
364
1
1분36초쯤에 말씀하시는 자바닥??그거 보라고 하셨는데 자바닥이 뭐죠..?
0
253
1
메서드와 생성자
0
398
2
참조형 데이터 타입은 클래스 이름과 같아야 하나요?
0
287
1
반환값은 정수 밖에 안되나요?
0
274
1
9분33초 설명!!부탁 드립니다!
0
300
1
48분쯤에 {"B","C","D""} 를 왜 {'B','C','D'}로 바꿨죠?
0
298
1





