상속

· IT/Java
다형성(Polymorphism) 하나의 객체가 여러가지 타입을 가질 수 있으며 사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질이다. 객체 사용 방법이 동일하다는 것은 동일한 메소드를 가지고 있다는 뜻이다. 1. 필드 다형성 필드 타입(사용 방법)은 동일하지만 대입되는 객체에 따라 실행 결과가 다양하다. 예제 코드 더보기 package ch07.sec08.exam01; public class Tire { public void roll() { System.out.println("회전합니다."); } } package ch07.sec08.exam01; public class HankookTire extends Tire { @Override public void roll() { System.out.pr..
· IT/Java
클래스 변환은 상속 관계에 있는 클래스에서 발생한다. 자동 타입 변환(Promotion) 상속 관계에서 자식이 부모 타입으로 타입 변환하는 것을 클래스의 자동 타입 변환이라 한다. 부모타입 변수 = 자식타입객체; Child child = new Child(); Parents parents = child; Parents parents = new Cat(); Parents와 Child 변수는 타입만 다르고 동일한 Child 객체를 참조한다. 바로 위의 부모가 아니더라도 상속 계층에서 상위 타입이라면 자동 타입 변환이 가능하다. 상속 관계에 있지 않으면 컴파일 에러가 나타난다. 예제 코드 더보기 package ch07.sec07.exam02; public class Parent { // 메소드 선언 publi..
· IT/Java
Method Overriding 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속 받는다. 상속 받은 메소드는 그대로 사용해도 되고, 필요한 동작을 위해 재정의 후 사용할 수도 있다. 즉, Method Overriding이란 상속된 메소드를 자식 클래스에서 직접 재정의하는 것이다. Method Overriding이 되면 부모 메소드는 숨겨지고, 자식 메소드가 우선적으로 사용된다. Overriding 규칙 메소드의 동작만 재정의하는 것으로, 자식 메소드의 선언부가 부모 메소드의 선언부(리턴 타입, 메소드 이름, 매개변수)와 동일해야 한다. 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다. 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없다. 예제..
· IT/Java
상속(Inheritance) 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 기존에 정의되어 있던 클래스(부모 클래스)의 모든 필드와 메소드를 물려받아 새로운 클래스(자식 클래스)를 생성할 수 있다. 상속의 장점 기존에 작성된 클래스를 재활용 가능하므로 중복되는 코드를 줄여 개발 시간이 단축된다. 자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성하면, 자식 클래스에 해당 멤버를 작성하지 않아도 된다. 부모 클래스를 수정하면 모든 자식 클래스도 수정되기에 최소한만 수정할 수 있다. 클래스 간의 계층적 관계를 구성하여 다형성의 문법적 토대를 마련한다. 문법 public class Child extends Parent { } 자바는 다중 상속을 허용하지 않아,..
Huitopia
'상속' 태그의 글 목록