///////
Search

상속

작성 날짜
2022/09/26 07:31
작성자
상속
기존의 클래스로 새로운 클래스를 작성하는 것 (코드 재사용)
두 클래스를 부모 자식으로 관계를 맺어주는 것
자손은 조상(부모 뿐 아니라 부모의 부모 등)의 모든 멤버들을 상속 받는다 (생성자, 초기화 블럭 제외)
자손의 멤버 개수는 조상보다 적을 수 없음 (같거나 많음)
자손의 변경은 조상에 영향을 미치지 않음
속을 받으면 부모 멤버 자식 멤버가 합쳐짐
자손의 변경은 영향을 안미치지만 부모의 변경은 영향을 줌
상속예제
Car.class package course_0926; public class Car { int speed; //속도 public void setSpeed(int speed) { //속도 변경 메소드 this.speed = speed; } }
HTML
복사
SportsCar.class
package course_0926; public class SportsCar extends Car{ boolean turbo; public void setTurbo(boolean flag){ turbo = flag; } }
Java
복사
SportsCarTest.class
SportsCar.class package course_0926; public class SportsCarTest { public static void main(String[] args) { SportsCar obj = new SportsCar(); //부모 클래스의 필드와 메소드 사용 obj.speed = 10; obj.setSpeed(60); obj.setTurbo(true); //자체 메소드 사용 } }
HTML
복사
super() 조상의 생성자 // 참조변수 super 와 관련없음
조상의 생성자를 호출할 때 사용
상속에서 생성자,초기화블록은 상속되지 않음!
조상의 멤버는 조상의 생성자를 호출해서 초기화
조상의 멤버를 자손의 생성자가 초기화를 하지말고 자신이 선언한 값만 선언하자
조상의 생성자 추가조건 (매우중요!!!!)
생성자의 첫줄에는 반드시 다른? 생성자를 호출해야 함
그렇지 않으면 컴파일러가 생성자 첫 줄에 super();를 삽입