19.04.08 어노테이션,Getter / Setter 메소드
Back-End/Java 2019. 4. 8. 17:39- 어노테이션이란? -
컴파일 과정과 실행과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보
@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 |
'Back-End > Java' 카테고리의 다른 글
19.04.10 추상 클래스 / 메소드, 인터페이스 (0) | 2019.04.10 |
---|---|
19.04.09 상속, final (0) | 2019.04.09 |
19.04.06 Class(필드, 생성자 오버로딩) (0) | 2019.04.06 |
19.04.05 다차원 배열, 향상된 for문 (0) | 2019.04.05 |
19.04.04 random, Scanner (0) | 2019.04.04 |