-Extends 를 사용하여 상속받음
-부모클래스가 가지고 있는 메소드와 변수 사용가능
-부모 클래스는 하나여야함(단일상속)
수퍼
나의 상위 객체 (부모클래스
- 항상 최상위에 있어야 함
디스
자기자신 생성자
- 자기자신의 주소를 매개변수로 넣을 때
오버라이딩
메소드명과 매개변수 타입이 같아야 함 이름은 바껴도 됨
오버로딩
이름같고 매개변수 갯수와 타입이 다르면 가능
예시
-Car 클래스를 KiaCar 와 HyundaiCar 가 상속받음
[Car]
public class Car {
private String company;
private String model;
private int price;
public Car() {
System.out.println("부모");
}
public int discountPrice(int percentage) {
return price - (price * percentage / 100);
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
[KiaCar]
public class KiaCar extends Car {
public KiaCar() {
super();
System.out.println("자식");
}
@Override
public int discountPrice(int percentage) {
return super.discountPrice(percentage);
}
}
[HyundaiCar]
public class HyundaiCar extends Car {
private boolean premium;
}
[ExtendsMain]
public class ExtendsMain {
public static void main(String[] args) {
KiaCar kiaCar = new KiaCar();
System.out.println(kiaCar);
kiaCar.setPrice(30000);
System.out.println(kiaCar);
System.out.println(kiaCar.getPrice());
System.out.println(kiaCar.discountPrice(20));
}
}
'백엔드개발자 준비하기' 카테고리의 다른 글
[백엔드개발자 준비하기] 추상클래스 (0) | 2023.01.11 |
---|---|
[백엔드개발자 준비하기] 상속_클래스형변환 (0) | 2023.01.11 |
[백엔드개발자 준비하기] 배열 활용 (0) | 2023.01.06 |
[백엔드개발자 준비하기] 배열 (0) | 2023.01.05 |
[백엔드개발자 준비하기] 깃, 깃허브, 소스트리 활용하기 (0) | 2023.01.05 |