본문 바로가기

다형성

[ JAVA ] 다형성(polymorphism) - 서로 다른 타입의 값으로 다양한 결과를 도출하는 성질 재정의와 타입 변환을 이용하면 객체 지향 프로그래밍의 매우 중요한 특징인 다형성을 구현할 수 있다. 참조를 어떻게 시켜주느냐에 따라 다양한 형태를 가질 수 있다. 다형성 객체 사용 방법을 동일하지만 실행결과가 다양하게 나오는 성질을 말한다. 다형성을 구현하는 기술은 메소드 재정의와 타입 변환이다. 자식 객체가 재정의된 메소드를 가지고 있을 경우, 부모 타입으로 자동 타입 변환 후 메소드를 호출하면 재정의된 자식 메소드가 호출되면서 다양한 실행결과를 가져올 수 있다. 자동타입변환 부모타입 변수 = 자식타입; 필드의 다형성 다형성 구현을 위해 자식 타입으로 사용해도 될 것을 부모 타입으로 변환해서 사용할 수 있다. 필드의 타입을 부모 타비으로 선언하면 다양한 자식 객체들이 저장될 수 있기 때문에 필드 사용 .. 더보기
[ JAVA ] Casting (upCasting/downCasting) - 객체타입끼리의 형변환 예시를 들어보자 추상 클래스 Car class / 인터페이스 Fly / Car class를 상속받은 Sedan / Car class와 Fly interface를 상속받은 FlyingCar 추상 클래스 Car class package Casting; public abstract class Car { public abstract void carRun(); } 인터페이스 Fly package Casting; public interface Fly { public void fly(); } Car class를 상속받은 Sedan package Casting; public class Sedan extends Car{ @Override public void carRun() { System.out.println("세단이.. 더보기