티스토리 뷰

[java 19강] 자바 상속 (extends)







이번 강좌에서는 자바의 상속에 대해서 알아보겠습니다.

우선 "상속" 이라는 것이 무엇인가요? 부모의 것을 자식이 물려 받는뜻을 하죠 ㅎㅎ

자바도 똑같습니다. 어떠한 클래스를 자식클레스에서 사용을 하는것입니다.

그러면... 왜 상속을 자바에서 사용하는 것일까요?

간단하게 생각해봅시다. 내가 원하는 클래스는 만들어 놓았고...

그걸 비슷하게 쫌더 기능을 붙여서 사용하고 싶은대... 그러면 이미 만들어 놓은것을 복사 붙여넣기 하여 사용해야할까요?

아닙니다. 그냥 전에 만들어 놓은것에다 기능을 붙이면 되는것이겠죠?

그것이 바로 자바에서 상속을 자주 사용하는 이유!? 입니다 ㅎㅎ


상속을 사용하는 문법은...

우선 만들어져있는 A 라는 클래스가 있을때 B라는 클레스에 A를 상속하고 싶다고 가정하겠습니다.

그럼 문법은...


class B extends A{ }


만들려고 하는 클래스를 만들고 그뒤에 extends 붙이고 부모의 클레스를 작성해 주면 됩니다.


그럼 바로 예제로 들어가 보겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package test123123;
 
public class java19 extends A {
 
    public static void main(String[] args) {
        B b = new B();
        b.test();
    }
 
}
 
class A{
    int i =  0;
    
    public void test() {
        System.out.println("A 클래스의 i의 변수의 값:" + i);
    }
}
 
class B extends A{
    
}
cs


결과



예제를 보시면 


B b = new B();


B클래스를 만들었고... B클래스에서 b.test(); 메소드를 실행하였습니다.

하지만 잘보시면....


class B extends A{ }


클래스에는 상속말고는 아무런 내용이 없는데... 어떻게 메소드가 실행이된것인가요?

바로 A의 클래스를 상속받았기 떄문에... B클래스에는 내용이 아무것이 없더라도 A클래스의 내용이 이미 들어가 있는것입니다.


이렇게 상속을 통하여 반복적인 메소드.. 변수... 등은 또다시 입력할 필요가! 없는것입니다. ㅎㅎ


실무에서도 많이 사용하죠 ㅎㅎ


이번강의를 통해 상속에 대해 알아보았습니다.


굼굼한점은 댓글로 남겨주시면 감사하겠습니다 ^^


수고하세요! 

댓글