19.04.08 어노테이션,Getter / Setter 메소드

Back-End/Java 2019. 4. 8. 17:39
728x90
반응형

- 어노테이션이란? -


컴파일 과정과 실행과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보


@Override
선언한 메서드가 오버라이드 되었다는 것을 나타냅니다.
만약 상위(부모) 클래스(또는 인터페이스)에서 해당 메서드를 찾을 수 없다면 컴파일 에러를 발생 시킵니다.


@Deprecated
해당 메서드가 더 이상 사용되지 않음을 표시합니다.
만약 사용할 경우 컴파일 경고를 발생 시킵니다.


@SuppressWarnings
선언한 곳의 컴파일 경고를 무시하도록 합니다.


@SafeVarargs
Java7 부터 지원하며, 제너릭 같은 가변인자의 매개변수를 사용할 때의 경고를 무시합니다.


@FunctionalInterface
Java8 부터 지원하며, 함수형 인터페이스를 지정하는 어노테이션입니다.
만약 메서드가 존재하지 않거나, 1개 이상의 메서드(default 메서드 제외)가 존재할 경우 컴파일 오류를 발생 시킵니다.


-출처-

https://elfinlas.github.io/2017/12/14/java-annotation/



-Getter 메소드-
필드값을 가공한 후 외부로 전달하는 메소드



-Setter 메소드-
매개값을 검증해서 유효한 값만 데이터로 저장하는 메소드



-예제 및 출력값-


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
package chap06_Getter_Setter;
 
public class GetterSetter {
    private int speed; // 필드선언
    private boolean stop;  //필드선언
    
    public int getSpeed() 
    {
        return speed; //speed를 리턴
    }
    
    public void setSpeed(int speed)  //speed를 매개변수로 받음 
    {
        if(speed < 0//speed가 0보다 작을 시(음수가 나올시에)에는 0를 리턴하고 아닐시에는 그 속도를 그대로 쓴다.
        {
            this.speed = 0;
            return;
        }
        else 
        {
            this.speed = speed;
        }
    }
    
    public boolean isStop() //boolean은 논리타입 (참,거짓 판별)
    {
        return stop; //stop를 리턴
    }
    
    public void setStop(boolean stop) 
    {
        this.stop = stop;  
        this.speed = 0;   
    }
}
 
cs


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
package chap06_Getter_Setter;
 
public class GetterSetterCar {
 
    public static void main(String[] args) {
        GetterSetter myCar = new GetterSetter();
        
        //잘못된 속도 변경
        myCar.setSpeed(-50);
        
        System.out.println("현재 속도: "+myCar.getSpeed());
        
        
        //올바른 속도 변경
        myCar.setSpeed(60);
        
        //멈춤
        if(!myCar.isStop()) 
        {
            myCar.setStop(true);
        }
        System.out.println("현재 속도: "+myCar.getSpeed());
    }
}
 
cs


728x90
반응형
: