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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.test;
 
import java.util.Calendar;
 
public class Override {
 
    public static void main(String[] args) {
        
        //오버로딩, Overloading(Overload)
        //    - 메소드명을 동일하게., 메소드를 여러개 만드는 기술(인자리스트)
        
        //오버라이딩, Overriding(Override)
        //    - 상속할 때 발생 (상속 필수)
        //    - 부모의 메소드명과 자식의 메소드명이 충돌 시 발생되는 현상(기술)
        //    - 안써도 되는 기술., 의도를 알아야., 충돌시 무조건 자식 먼저.,
        
        
        
        //p&c 인스턴스
        OverrideParent p = new OverrideParent();
        p.hello();
        
        OverrideChild c = new OverrideChild();
        c.hello(); //부모꺼
        //c.hi();
        
        //아빠와 자식을 접하는 제 3자 기준.,
        //아빠 -> hello();
        //자식 -> hi();
        
        
        
        //time2 인스턴스
        Time2 t1 = new Time2(520);
        System.out.println(t1.getTime());
        
        //Date/Calendar
        Calendar c1 = Calendar.getInstance();
        System.out.println(c1); //java.util.GregorianCalendar[time=1419568910503
        System.out.println(t1); //com.test.Time2@75b84c92
        
        System.out.println(c1.toString()); //위의 getTime과같은성격., 보다 가독성↑
        System.out.println(t1.toString());
                
        
        
    }//main
}
 
//ex)
class OverrideParent {
    public void hello() {
        System.out.println("안녕하세요~");
    }
}
 
 
class OverrideChild extends OverrideParent {
    //자신만의 인사하는 메소드
    //    -> 부모꺼 hello 쓰기 싫다!!
//    public void hi() {
//        System.out.println("안녕~");
//    }
    
    //부모 메소드를 감추고 자신의 메소드를 사용하는 기술
    //    -> 메소드 오버라이딩(메소드 재정의)
    public void hello() {
        System.out.println("안녕~");
    }
}
 
 
 
 
 
 
 
 
 
//ex) 오버라이딩
//class Time2 extends Object 원형
class Time2 {
    private int hour;
    private int min;
    
    //생성자
    public Time2() {
        this.hour =1;
        this.min = 0;
    }
    
    //오버라이딩
    public Time2(int hour, int min) {
        this.hour = hour;
        this.min = min;
    }
    
    //확인용.,문자열로 받아와서.,
    public String getTime() {
        return this.hour + ":" + this.min; //5:30
    }
    
    //자신(객체)의 데이터를 반환하도록 재정의
    @Override
    public String toString() {
        return this.hour + ":" + this.min;
    }
}
 
 
 
 
cs


'WEB > JAVA' 카테고리의 다른 글

비디오마을  (0) 2015.09.10
FINAL  (0) 2015.05.22
ABSTRACT CLASS(추상클래스)2  (0) 2015.05.22
ABSTRACT CLASS(추상클래스)1  (0) 2015.05.22
OBJECT CLASS  (0) 2015.05.22

+ Recent posts