개발 일기
JAVA 상속(extends)에 대한 복습! 본문
JAVA에서의 상속(클래스의 관계)는
- 부모클래스(객체)의 멤버들을 자식클래스(객체)가 물려받는 것
상속을 하는 이유
- 기존에 만들어놓은 클래스의 재사용, 확장(유지보수)를 위해서 사용
상속의 특징
자바에서는 단일상속만이 가능하다.(부모클래스가 한개만 가능)
부모클래스(super, parent)와 자식클래스(sub, child)가 존재한다.
자바에서 제공되어지는 모든 클래스들은 'Object'라고 하는 최상위 클래스로부터 상속되어 있다.
사용자 정의 클래스도 'Object' 클래스라는 최상위 클래스를 상속 받아야 한다.
코딩 예시
- Parent class 생성
class Parent extends Object{ // "extends Object"가 상속의 특징 'Object'클래스 상속에 관한 부분, 단 생략해도 상관 없음
public int member1; // 예시 멤버변수 생성
public int member2;
public void method1() { // 예시 멤버메소드 생성
System.out.println("Parent.method1()");
}
public void method2() {
System.out.println("Parent.method2()");
}
}
- Child 클래스 생성 후 Parent Class 상속
class Child extends Parent{ // extends Parent 문구 사용하여 상단 Parent 클래스를 상속 받음
/* Parent 부분 멤버변수 주석 상태
public int member1;
public int member2;
public void method1() {
System.out.println("Parent.method1()");
}
public void method2() {
System.out.println("Parent.method2()");
*/
public int member3;
public void method3() {
System.out.println("Child.method3()");
}
}
- 메인 클래스 출력
public class ParentChildMain {
public static void main(String[] args) {
System.out.println("------------Child------------");
Child c1=new Child(); // Child 클래스 c1 객체 생성
c1.member1=1; // Child 클래스 내 상속되어 있는 Parent 클래스의 멤버변수 member1을 호출 가능
c1.member2=2;
c1.member3=3;
c1.method1();
c1.method2();
c1.method3();
System.out.println("------------Parent------------");
Parent p1=new Parent();
p1.member1=1; // Parent 클래스의 멤버변수 정상 호출
p1.member2=2;
p1.method1();
p1.method2();
}
}
이번에는 상속을 통해 기존 작성 클래스를 재사용하는 공부를 진행해보았습니다!!
상속을 활용하면 JAVA에서 제공해주는 API를 활용한 다양한 기능들을 구현 할 수 있다고 하니 더 배우는대로 연습 코딩을 올려보겠습니다!
감사합니다.
'JAVA 공부' 카테고리의 다른 글
JAVA 상속 공부 3 (feat. 객체형변환) (0) | 2021.06.16 |
---|---|
JAVA 상속 공부 2 (feat.Overriding = 재정의 란??) (0) | 2021.06.15 |
객체 지향 프로그래밍(Object Oriented Programming_OOP)이란??? (0) | 2021.06.04 |
JAVA 변수의 타입 개념, 인코딩과 디코딩, 연산자(Operator)란? (0) | 2021.06.01 |
이클립스 사용법 및 JAVA의 변수 개념(feat. D2폰트 다운로드) (0) | 2021.05.31 |