본문 바로가기

다형성2

인터페이스 타입변환과 다형성 상속은 같은 종류의 하위 클래스를 만드는 기술이고, 인터페이스는 사용 방법이 동일한 클래스를 만드는 기술이다. 메소드 호출 시 어떤 구현 객체를 매개값으로 주느냐에 따라서 메소드의 실행 결과는 다르게 나온다. 예를 들면, 인터페이스 A의 구현 클래스 B와 C가 있을 때, B클래스를 통해서 원하는 결과가 나오지 않으면 간단하게 C클래스로 바꿔서 실행 할 수 있다. 그것을 유용하게 바꾸기 위해 인터페이스는 메소드의 매개 변수로 많이 사용된다. 매개 변수를 인터페이스 타입으로 선언하면 메소드 호출 시 매개 값으로 다양한 구현 객체를 주어서 다양한 실행 결과가 나오게 할 수 있다. public interface A { // .... } public class B implements A { // .... } pu.. 2020. 4. 2.
다형성 다형성은 객체의 타입은 같은데 실행 결과가 다양하게 나타나는 것이다. 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해준다. 자바는 부모 타입에 모든 자식 객체가 대입될 수 있다. 클래스 타입의 타입 변환은 상속관계에 있는 클래스 사이에서 발생한다. 자식 타입은 부모 타입으로 자동 타입 변환이 가능하다. 자동 타입 변환은 자식 클래스는 부모 클래스를 상속받기 때문에 부모와 동일하게 취급될 수 있다는 것이다. '부모 클래스 변수 = 자식 클래스 타입' Cat 클래스가 Animal 클래스를 상속 받는다고 할 때, class Animal { .... } class Cat extends Animal { .... } Cat cat = new Cat(); Animal animal = cat.. 2020. 3. 31.