다형성 3

[ JAVA ] 다형성 - 매개변수의 다형성, 여러 종류의 객체 배열

1. 매개변수의 다형성 참조변수의 다형적인 특징은 메서드의 매개변수에도 적용된다. 예제로 알아보자! 💎예제💎 class Product { int price; int bonusPoint; } class TV extends Product{} class Computer extends Product{} class Audio extends Product{} class Buyer { int money = 1000; int bonusPoint = 0; } 위 코드를 보면 Product클래스는 TC,Audio,Computer클래스의 부모클래스이며, Buyer 클래스는 제품을 구입하는 사람을 클래스로 표현한 것이다. 여기서 Buyer 클래스에 물건을 구입하는 기능의 메서드를 추가해보자! 구입할 대상이 필요하므로 매개변수..

[ JAVA ] 다형성 - 참조변수의 형변환

참조형 변수도 형변환이 가능한가? → 가능하다.기본형 변수와 같이 참조 변수도 형변환이 가능하다. 단, 조건이 있다. 서로 상속관계이 있는 클래스 사이에서만 가능하다. ✅ 참고 바로 위 부모나 바로 밑 자식이 아닌, 부모의 부모인 조부모로도 형변환이 가능하다. 따라서 모든 참조변수는 모든 클래스의 조상인 Object클래스 타입으로 형변환이 가능다. 기본형 변수의 형변환에서 작은 자료형에서 큰자료형의 형변환은 생략이 가능 했듯이, 참조형 변수의 형변환에서는 자식타입의 참조변수를 부모타입으로 형변환하는 경우에 형변환을 생략할 수 있다. 자식타입 → 부모타입(Up-casting) : 형변환 생략가능 부모타입 → 자식타입(Down-casting) : 형변환 생략불가 * 참조변수간의 형변환 역시 캐스트연산자를 사..

[ JAVA ] 다형성이란?

다형성이란? 객체지향 개념에서는 '여러 가지 형태를 가질 수 있는 능력'을 의미한다. Java에서는 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 구체적으로 말하자면, 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 💡잠깐, 참조 변수 타입과 인스턴스 타입이 같아야 하는 것 아닌가❗❔ → 답은 아니다! 참조 변수 타입과 인스턴스 타입이 일치하는 것이 보통이지만, 서로 상속 관계에 있을 경우, 다음과 같이 부모 클래스의 타입의 참조 변수로 자식 클래스의 인스턴스를 참조하도록 하는 것도 가능하다! 🙄 그러면 왜 이렇게 사용하는 것일까? 그리고 어떤 차이가 있을까? → 일단 어떤 차이가 있는지 알아보고 왜 ..

728x90