1. 상속
상속은 객체 지향의 재활용성을 극대화 시킨 프로그래밍 기법이다. 상속이란, 어떤 객체가 있을 때 그 객체의 변수(필드)와 메소드를 다른 객체가 물려받을 수 있게 하는 기능이다. 기존의 객체를 유지하면서 어떤 기능을 추가하고 싶을 때 상속을 통해 자식 클래스를 만든다.
상속을 통해 코드의 중복을 제거하고(똑같은 기능을 가진 클래스를 또 만들지 않아도 된다), 기존의 부모 클래스를 개선할 경우에, 자식 클래스에도 그 혜택이 돌아간다.
결과적으로 상속의 효과는 다음과 같다. => 재활용성 증가 + 코드 중복 제거 + 유지보수 편리성
2. 생성자
- 기본 생성자 : 매개변수가 있는 생성자가 있을 때, 기본적으로 생성자를 만들어 주지 않는다. 없을 때는 가능하다.
- super ( ) : super 키워드는 부모 클래스와 부모 클래스의 생성자를 의미한다.
- 하위 클래스에서 super( ) 를 사용할 때 주의점 : super( )가 가장 먼저 나와야 한다.
- 부모 클래스가 초기화되기 전에 자식이 초기화 되는 것을 막기 위함이다.
class Calculator {
int left, right;
public Calculator(){}
public Calculator(int left, int right){
this.left = left;
this.right = right;
}
public void setOprands(int left, int right) {
this.left = left;
this.right = right;
}
public void sum() {
System.out.println(this.left + this.right);
}
public void avg() {
System.out.println((this.left + this.right) / 2);
}
}
class SubstractionableCalculator extends Calculator {
public SubstractionableCalculator(int left, int right) {
super(left, right);
}
public void substract() {
System.out.println(this.left - this.right);
}
}
class Main {
public static void main(String[] args) {
SubstractionableCalculator c1 = new SubstractionableCalculator(10, 20);
c1.sum();
c1.avg();
c1.substract();
}
}
'Java Spring' 카테고리의 다른 글
9. 접근 제어자 (0) | 2023.04.03 |
---|---|
8. Overriding & Overloading (0) | 2023.04.03 |
6. 객체 지향 프로그래밍 (0) | 2023.03.27 |
5. 메소드, 입출력 (0) | 2023.03.27 |
4. 반복문, 배열 (0) | 2023.03.26 |