Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발 일기

JAVA 상속(extends)에 대한 복습! 본문

JAVA 공부

JAVA 상속(extends)에 대한 복습!

개발 일기 2021. 6. 14. 21:17

JAVA에서의 상속(클래스의 관계)는

  • 부모클래스(객체)의 멤버들을 자식클래스(객체)가 물려받는 것

상속을 하는 이유

  • 기존에 만들어놓은 클래스의 재사용, 확장(유지보수)를 위해서 사용

상속의 특징

  • 자바에서는 단일상속만이 가능하다.(부모클래스가 한개만 가능)

  • 부모클래스(super, parent)와 자식클래스(sub, child)가 존재한다.

  • 자바에서 제공되어지는 모든 클래스들은 'Object'라고 하는 최상위 클래스로부터 상속되어 있다.

  • 사용자 정의 클래스도 'Object' 클래스라는 최상위 클래스를 상속 받아야 한다.

코딩 예시

  1. 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()");
}

}

  1. 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()");
}

}

  1. 메인 클래스 출력

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를 활용한 다양한 기능들을 구현 할 수 있다고 하니 더 배우는대로 연습 코딩을 올려보겠습니다!

감사합니다.

Comments