자바 공부/[자바] 기본 공부
[자바 공부 3일차] 상속과 추상클래스
햅2024
2024. 11. 8. 19:20
상속을 통해 부모 클래스에 있는 함수들을 자식클래스에서 이용할 수 있다.
JAVA에서 상속은 extands 를 통해 이용한다.
부모 클래스에 더하기 함수를 작성해준다.
public class ex_Parent {
public int Sum (int a, int b)
{
int result = 0;
result = a+b;
return result;
}
}
자식클래스는 상속만 받을 뿐, 아무런 함수가 작성되지 않았다.
public class ex_Child extends ex_Parent {
}
public class Child_Exam {
public static void main(String[] args)
{
ex_Child child = new ex_Child();
int a= 5;
int b= 6;
System.out.printf("%d", child.Sum(a, b));
}
}
그러나 이와 같이 자식 클래스를 새로 생성하여 부모클래스의 함수를 사용할 수 있다.
그럼 자식클래스에선 어떻게 함수를 사용할까?
자식클래스는 부모클래스의 함수를 그대로 상속 받기 때문에 별다른 선언 없이 사용할 수 있다.
public class ex_Child extends ex_Parent {
public void Cal()
{
int a = 10;
int b = 12;
System.out.printf("%d", Sum(a, b));
}
}
그럼 이제 추상클래스에 대해서 알아보자.
추상클래스를 사용하면 같은 이름의 함수를 상속 받은 클래스에 각각 다르게 구현할 수 있다.
public abstract class Bird {
public abstract void sing();
public void fly()
{
System.out.println("날다");
}
}
Bird 라는 추상클래스를 구현하였다. 그럼 이 클래스를 상속 받은 duck이란 클래스를 만들어 보자
public class Duck extends Bird {
@Override
public void sing() {
// TODO Auto-generated method stub
System.out.println("꽥꽥");
}
}
이와 같이 상속 받은 클래스마다 각각 다르게 구현할 수 있다.