상속(Inheritance)
상속(Inheritance)이란 부모 클래스에 있는 메소드나 변수 등을 자식 클래스가 물려받는 것을 말한다.
즉 자식 클래스는 부모 클래스에 있는 메소드나 변수 등을 재구성(오버라이딩)하여 사용한다.
하지만 부모 클래스는 자식 클래스에 있는 메소드나 변수를 사용할 수 없다.
1. private인 메소드나 변수는 절대 불가하며 나머지 접근 제어자는 상황에 따라 다르다.
어떤 상황에 접근 제어자를 사용해야 할지 알고 싶다면
2020/09/14 - [대외 활동/CADI(개발A 보충스터디)] - java 접근 제어자(private,protected,default,public)
java 접근 제어자(private,protected,default,public)
접근 제어자(access modifier) 외부에 대한 접근을 제어하는 문법을 접근 제어자(access modifier)라고 한다. 보통 변수나 함수, 클래스앞에 접근 제어자를 붙이고 접근 허용 범위를 관리한다. 접근 제어��
dev-seungwon.tistory.com
2.자식 클래스가 부모 클래스를 상속받기 위해서는 extends를 사용해야 한다.
public class Parent{
private int a; // Child 에서 호출 불가
protected int b; //Child 에서 호출 가능
public String naming(){
System.out.println("부모");
}
}
public class Child extends Parent{
System.out.println(b); //Parent 변수 사용 가능
public String naming(){
System.out.println("자식");
} //오버라이딩
}
위 코드와 같이 자식 클래스가 부모 클래스에 있는 메소드를 재정의하는 것은 오버라이딩(Overriding)이라고 한다.
오버라이딩에 대한 내용은
2020/09/06 - [대외 활동/CADI(개발A 보충스터디)] - 오버라이딩 vs 오버로딩 비교 & 정리
오버라이딩 vs 오버로딩 비교 & 정리
오버라이딩 vs 오버로딩 비교 & 정리 오버라이딩과 오버로딩의 차이에 대해 알아보자! 오버로딩(Overloading) 메소드 이름은 같지만 매개변수의 자료형이나 개수가 다른 경우를 오버로딩이라고
dev-seungwon.tistory.com
다형성(Polymorphism)
이러한 오버라이딩은 다형성(Polymorphism)과 연관이 있다.
다형성은 같은 이름의 메소드가 다양한 결과를 나타낼 수 있다는 특징이 있다.
즉 자식 클래스에 재정의해서 사용할 수 있기 때문에 naming()메소드는 부모와 자식에서의 사용이 다르다.
또한 클래스를 인스턴스화 하여 부모나 자식을 참조하는 객체를 만들어 다형성을 나타낼 수도 있다.
public class Main(){
public static void main(String []args){
Parent person = new Child();
person.naming(); //Child 클래스에 있는 내용이 나옴
}
}
'대외 활동 > CADI(개발A 보충스터디)' 카테고리의 다른 글
룸복(Lombok),제이유닛(Junit),log4j & slf4j 설명! (0) | 2020.12.26 |
---|---|
오버라이딩 vs 오버로딩 비교 & 정리 (0) | 2020.12.26 |
안드로이드 생명주기 (0) | 2020.12.26 |
새로워진 안드로이드10 !! (0) | 2020.12.26 |
새로워진 Android 11 !! (0) | 2020.12.26 |