JAVA 05-10

JuHyung Yoon·2023년 5월 10일
0

JAVA 기초

목록 보기
8/11

상속이란?

상속은 우리가 일반적으로 알고있는 부모가 자식에게 무언가를 물려주는 것을 상속이라고 부르는 것처럼 자바에서도 부모역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 상속이라고 합니다.

상속의 특징

상속은 클래스를 재사용하기 때문에 중복을 줄여주고 수정을 최소화하는 특징을 가지고 있습니다.

public class Book{ //클래스 선언
	String title;
    int price;
    
    void info(){
    System.out.println("책의 제목은 " + title + "이고, 가격은 " + price + "원 입니다");   
	}
}

public class Comic extends Book{
	//Comic 클래스에서 구현한것은 아무것도 없음!
}
public Calss Store{ //클래스 선언
public static void main(String[] args){
	Comic comicBook = new Comic();
    comicBook.title = "포켓몬";
    comicBook.price = 4500;
    comicBook.info();
}

result = 책의 제목은 포켓몬이고, 가격은 4500원 입니다.

super()

super()메서드가 같은 클래스의 다른 생성자를 호출할 때 사용된다면, 부모클래스의 생성자를 호출 합니다.

Comic(){
	super(); //부모클래스 book()의 기본생성자호출
}

부모클래스가 매개변수를 받는 커스텀생성자라면

Comic(매개변수1, 매개변수2...){
	super(매개변수1, 매개변수2...);
}

tips
super()메서드는 항상 생성자의 첫줄에 호출되어야합니다.
super() 는 곧 부모 클래스의 기본 생성자를 뜻한다.

메서드의 오버라이딩

부모 클래스를 상속받은 자식 클래스가 부모의 메서드를 가져와서 사용가능함 경우에 따라 변경하여 사용할수있음.

주의사항

  • 부모 클래스의 메서드 이름/반환 타입/매개 변수와 동일해야 합니다.
  • 부모 클래스보다 접근 제한자를 통해 범위를 넓힐수는 있으나 줄일 수는 없다.

제한자의 종류

  • public
  • protected
  • defalt
  • private

final 클래스

클래스 앞에 final을 추가할 경우, 어떠한 클래스도 이 클래스의 자식 클래스가 될수없다.

profile
ㅋㅎ딩초보

0개의 댓글