JAVA 상속 - super 키워드

super 키워드는 상속 관계에서 슈퍼 클래스의 메소드나 필드를 명시적으로 참조하기 위하여 사용된다.슈퍼클래스의 메소드나 필드를 재정의한 경우에 super를 사용하면 슈퍼클래스의 메소드나 필드를 호출할 수 있다.super 키워드는 this 와 비슷한 성질을 지닌다. public static void main(String[] args) {// TODO Auto-generated method stubChild c = new Child("hello"); // child의 객체를 생성하고 생성자 호출}}class Parent {// 전달인자가 있으므로 두번째 메소드(생성자) 실행 - 슈퍼클래스public Parent() {System.out.println("p기본 생성자()");}public Parent(Str..

JAVA 상속 - 재정의(Overriding)와 주해(Annotation)

메소드 재정의(Overriding Method)상속받은 메소드가 변경이 필요하다면 해당 메소드의 헤더는 그대로 두고 메소드의 몸체만 바꾸는 것이다.집으로 치자면 상속받은 집내부의 벽지나 창문이 마음에 들지않아 리모델링하는 것과 같다. 서브클래스에서 오버라이딩(Overriding)을 할 경우 반드시 슈퍼클래스의 메소드의 반환형, 이름, 매개변수의 갯수와 데이터 타입이 일치 하여야 한다. 아래의 코드를 작성하여 실행하여 보면 이해가 빠를 것이다. public static void main(String[] args) { // 메인 메소드// TODO Auto-generated method stubDog d = new Dog();Animal a = new Animal();a.sound(); // 슈퍼클래스 메소..

JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스

상속(Inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것이다. 상속되는 클래스를 부모 클래스라하며 슈퍼클래스(Super class)라고도 한다.자식 클래스는 서브클래스(Sub class)라고도 하며 상속을 받는 클래스를 의미한다. 상속이라고 해서 특별한 의미가 있는 것은 아니다. 현실에서와 비슷하게 그저 부모님의 집을 상속받아 그대로 사용을 하거나 물려받은 집을 보수또는 리모델링(오버라이딩)할 수 있는 것과 같다. 자바에서 클래스를 상속 받기위해서는 클래스 정의후에 옆에 extends를 적고 상속받을 클래스 이름을 쓰면된다.ex) class SubClass extends SuperClass 그리고 서브클래스는 슈퍼클래스의 멤버와 메소드들 마치 자기 것처럼 사용할 수 있으며 슈퍼클래..