목록Java/객체지향 (41)
충분히 쌓여가는
다형성이란 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 참조변수의 형변환이란 사용할 수 있는 멤버의 갯수를 조절하는 것(리모컨 바꾸기) instanceof란 참조변수의 형변환 가능여부 확인, 가능할 경우 true 반환 매개변수의 다형성 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨줄 수 있다 메서드의 매개변수로 조상 타입의 참조변수를 사용하여 하나의 메서드를 여러 타입의 객체를 받을 수 있다 코드 class Product { int price; int bonusPoint; } class Tv extends Product { } class Computer extends Product { } class Audio extends Product { } class B..
instanceof 연산자 참조변수의 형변환 가능여부 확인에 사용, 가능하면 true반환 형변환 전에 반드시 instanceof로 확인해야 된다 코드 class Car { String color; int door; void drive() { System.out.println("drive"); } void stop() { System.out.println("stop"); } } class FireEngine extends Car { void water() { System.out.println("water"); } } Car 또는 Car의 모든 자손은 doWork()에 들어갈 수 있다 어떤 것이 들어올지 모르는 상태에서 FireEngine이 형변환으로 들어갈 수 없다 만약 Ambulance가 들어왔을때 Fi..
참조변수의 형변환 사용할 수 있는 멤버의 갯수를 조절하는 것 기본 형변환과 다르다[3.4 (int)-> 3] 조상 자손 관계의 참조변수는 서로 형변환 가능 class Car { String color; int door; void drive() { System.out.println("drive"); } void stop() { System.out.println("stop"); } } class FireEngine extends Car { void water() { System.out.println("water"); } } 형변환을 따지기 전에 일단 형변환을 하고 나서 생각하자 타입이 안맞으면 형변환 사용해서 맞춰주면된다 일단 조상 자손 관계만 참조변수가 형변환 가능하다는 것을 염두하고 코드를 작성하자 참조..
다형성 여러가지 형태를 가질 수 있는 능력 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 코드 예시 class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; // null 값 void caption() { /* 내용 생략 */ } } Tv는 Tv(), SmartTv는 SmartTv()로 타입이 일치해야한다 Tv t = new Tv(); SmartTv s = new SmartTv(); 다형성이라는 것은 타입이 불일치하더라도 된다 (Tv와 S..