Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- qiskit #QuantumComputer #QuantumMachine #양자컴퓨터 #양자 #키스킷
- qiskit #
- qiskit #qiskitHackerthon
- ibm #qiskit #quantum # quantumcomputer #quantumcomputing #quantummachine #quantumengineering #quantumbit #qbit
Archives
- Today
- Total
인일의 공부 블로그
[JAVA] 상속 본문
자식클래스 extends 부모클래스
"extends"라는 키워드를 사용해 상속함.
예시
public class Animal {
String name;
public void setName(String name) {
this.name = name;
}
}
public class Dog extends Animal {
public void sleep() {
System.out.println(this.name+" zzz");
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.setName("poppy");
System.out.println(dog.name);
dog.sleep();
}
}
자식 클래스는 부모 클래스의 기능을 더하여 더 많은 기능을 갖도록 설계한다.
매커니즘을 보면 다음과 같다.
new 생성자로 dog라는 클래스가 생성된다.
this 연산자로 name 인스턴스를 불러오는 setName 메소드가 실행되어 name은 poppy가 되게 된다.
***point setName메소드가 부모 클래스에 있기에 상속받은 Dog 클래스에서 사용이 가능하다.
name인 poppy를 출력하고
dog.sleep()라는 메소드를 호출하여 poppy zzz가 출력되게끔 한다.
메소드 재정의 : 본 클래스에 메소드를 적합하게 사용하도록 바꿈. 부모 클래스의 메소드가 자식 클래스에 맞지 않게 설계되어있을때 일부 수정해서 사용할때 이용함.
부모
public classs Calculator {
double areaCircle(double r){
System.out.println("Calculator 객체의 areaCircle() 실행");
return 3.14 * r * r;
}
}
자식
public class Computer extends Calculator{
@Override
double areaCircle(double r){
System.out.println("Computer 객체의 areaCircle() 실행");
return Math.PI * r * r;
}
}
자식클래스에서는 PI 값을 3.14로 쓰는것이 아닌 Math 클래스를 불러와 PI 상수를 이용하게함. Math는 자바 표준 API라 불로올 수 있음
+) @Override는 메소드가 정확히 재정이된것인지 컴파일러가 확인함
오버라이드로서 다형성 파트에서 자세히 다룰텐데 자식클래스에서만 메소드 기능을 할 수 있도록 재정의 한다 함. 부모 클래스에 있는 메소드를 덮고 자식 클래스에서 정의한 것으로 대체함.
final 클래스와 메소드는 상속과 재정의가 불가능하다.
public final class Member{
}
public final void set(){
System.out.println("얍");
}
다음과 같이 작성. 상속이나 재정의가 불가능함.
'Language, SDK > JAVA' 카테고리의 다른 글
[JAVA] 예외처리 (1) | 2021.10.17 |
---|---|
[JAVA] 생성자 (0) | 2021.02.26 |
[JAVA] 클래스와 객체 (0) | 2021.02.04 |