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
 
package com.test;
 
import java.util.Calendar;
 
public class final {
 
    public static void main(String[] args) {
        
        //static 키워드
        //1. (멤버)변수 : 지역변수x, 정적(공용)변수
        //2. 메소드
        
        //public(private) 키워드
        //1. 변수 : 지역변수x
        //2. 메소드
        //3. 클래스
        
        //final 키워드
        //1. 변수 : 지역변수o(붙임) ***
        //2. 메소드
        //3. 클래스
        
        //1. final 변수(= 상수)
        //    : 값을 변경시킬 수 없다
        
        //ex)
        final int n = 10;
        //n=20; 이게 안된다는 뜻
        System.out.println(n);
        
        //주의 : 선언과 초기화를 동시에(*****)
        //final int n2;
        //n2 = 10;
        //System.out.println(n2);
        
        
        //데이터 상수 : 의미가 없음(의미를 표현할 수 없음 -> 가독성 낮음)
        System.out.println(3.14); //파이값
        System.out.println(2*5+5/7);
        
//        double pi = 3.14;
//        System.out.println(20 * pi);
 
        int weight = 70;
        System.out.println(weight);
 
        ///상수는 의미없음 - > 의미 부여 하기 위해 -> 변수(이름) -> 수정 가능! -> 수정 불가능 -> final 상수 -> 의미있는 상수
        //가독성 -> 상수명은 모두 대문자
        final double pi = 3.14;
        //pi = 5.01; 이렇게 파이값이 바뀌면 안되잖아?
        //PI = 5.12;
        
        //Calendar.YEAR = 2;
        System.out.println(1);
        System.out.println(Calendar.YEAR);
        
                
    }
 
}
 
 
//상속시에 발생.,
class FinalA {
    
    //멤버.,
    //.,
    
    //2. final 메소드
    //    - 상속받은 자식 클래스가 재정의할 수 없는 메소드 
    //    - 안정성 문제
    public void test() {
        System.out.println("부모 메소드");
    }
}
 
class FinalB extends FinalA {
    
    //멤버.,
    //.,
    
    //메소드 오버라이딩
    public void test() {
        System.out.println("자식 오버라이딩");
    }
}
 
//3. final 클래스
//    - 프로그램 안정성 문제
//    - 처음부터 상속을 고려하지 않은 클래스 설계
//    - 최종 클래스, 봉인 클래스.,
final class FinalC {
    
    //멤버.,
    //.,
        
}
 
//class finalD extends FinalC {
//}
cs


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

비디오마을  (0) 2015.09.10
OVERRIDE(오버로딩)  (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