본문 바로가기

상속3

제네릭 타입의 상속과 구현 // Parent.java public class Parent { private kind; private model; public void setKind(T kind) { this.kind = kind; } public void setModel(M model) { this.model = model; } public T getKind() { return kind; } public M getModel() { return model; } } class Tv{} // Child.java public class Child extends Parent { private C company; public void setCompany(C company) { this.company = company; } public C g.. 2020. 4. 6.
인터페이스 상속 인터페이스는 클래스와 달리 다중 상속을 허용한다. public interface 하위인터페이스 extends 상위인터페이스1, 상위인터페이스2 {...} 하위 인터페이스를 구현하는 클래스는 상위 인터페이스의 모든 추상 메소드에 대한 실체 메소드를 가지고 있어야 한다. 그렇기 때문에 구현 클래스로부터 객체를 생성하고 나서 다음과 같이 하위 및 상위 인터페이스 타입으로 변환이 가능하다. 하위인터페이스 변수 = new 구현클래스(...); 상위인터페이스1 변수 = new 구현클래스(...); 상위인터페이스2 변수 = new 구현클래스(...); 하위 인터페이스로 타입 변환되면 상위 인터페이스들과 하위 인터페이스의 모든 메소드를 사용할 수 있고, 상위 인터페이스로 타입이 변환되면 상위 인터페이스에 선언된 메소드.. 2020. 4. 2.
상속 상속을 해도 부모 클래스의 모든 필드와 메소드들을 물려받는 것은 아니다. 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다. 그리고 부모 클래스와 자식 클래스가 서로 다른 패키지에 있으면 default 접근 제한을 갖는 필드와 메소드도 상속 되지 않는다. 프로그램에서는 자식이 어떤 부모 클래스를 상속 받을지 결정한다. // CellPhone.java public class CellPhone { String model; String color; void bell(){ System.out.println("벨이 울린다"); } public class SmartPhone extends CellPhone { // 필드 double channel; // 생성자 SmartPhon.. 2020. 3. 31.