반응형
부모 클래스에서 생성된 변수 메서드 등등 모든 것을 자식클래스가 상속받아 공유하고 확장하는 개념이다.
1. 코드를 재활용(공유) 함으로써 중복된 코드를 막을 수 있다.
2. 클래스 수정에 대해 유연성 증가 및 시간절약
자식클래스가 부모클래스의 메서드를 자신의 입맛으로 바꾸서 수정하는 것을 쉽게 오버라이딩 이라고 합니다.
한마디로 부모클래스의 메서드를 자식클래스가 재정의 하여 사용한다고 생각하시면 됩니다.
부모클래스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
//부모 클래스
public class Parents {
//부모클래스 메서드
public void ParentsMethod()
{
System.out.println("부모 클래스 메서드 입니다");
}
public void ParentsMethod2()
{
System.out.println("부모 클래스 메서드 입니다2");
}
public void ParentsMethod3()
{
System.out.println("부모 클래스 메서드 입니다3");
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
자식 클래스와 메인 클래스
extends Parents 부모클래스를 상속받고 있다
ParentsMethod3은 부모 클래스에서 한번 정의된 메서드지만
자식 클래스에서 재정의하여 사용하고 있다(오버라이딩)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
//자식 클래스
public class Child extends Parents{
//자식 클래스 메서드
public void ChildMethod()
{
System.out.println("자식 클래스 메서드 입니다");
}
//오버라이딩
public void ParentsMethod3()
{
System.out.println("부모 메서드를 오버라이딩 한 메서드 입니다");
}
public void ChildMethod2()
{
System.out.println("자식 클래스 메서드 입니다2");
}
}
//메인
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
//자식 클래스 참조변수 C
Child C = new Child();
C.ParentsMethod();
C.ParentsMethod2();
C.ParentsMethod3();
C.ChildMethod();
C.ChildMethod2();
}
}
//결과값
부모 클래스 메서드 입니다
부모 클래스 메서드 입니다2 부모 메서드를 오버라이딩 한 메서드 입니다 자식 클래스 메서드 입니다 자식 클래스 메서드 입니다 http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
반응형