Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 공개키암호시스템
- react
- RequestMethod.POST
- 암호학
- 국제화
- MySQL
- jsx
- 대칭키알고리즘
- 대칭키암호화
- Java
- fullcalendar
- jQuery
- c:choose
- JavaScript
- 서드파티모듈
- JSTL
- mybatis
- AndroidStudio
- 무결성
- SQL
- c:forEach
- vscode
- 동적쿼리
- 전자서명
- Spring
- 해시함수
- C#크롤링
- node.js
- 대칭키암호시스템
- NPM
Archives
- Today
- Total
Today Yewon Learned
[JAVA] Setter 메소드와 Getter 메소드 본문
객체 지향
- Setter 메소드와 Getter 메소드를 사용하는 근본적 이유는 '캡슐화(encapsulation)'를 달성하기 위함
* 캡슐화(encapsulation) - 서로 관련있는 데이터와 그 데이터를 다루는 메서드를 하나의 클래스로 묶는 것
* 정보은닉(Information Hiding) - 다른 객체에게 자신의 정보를 숨기고, 오직 연산만을 통해서 접근할 수 있도록 함
- 객체 지향 프로그래밍에서는 메소드를 통해 데이터를 변경하는 방법을 선호
1. Setter 메소드
- 데이터는 외부에서 접근하지 못하도록 하고, 메소드는 외부에 공개하여 메소드를 통해 데이터에 접근하도록 유도
ex) 자동차 속도를 setSpeed( ) 메소드로 변경할 경우 아래와 같이 검증 코드를 작성
void setSpeed(double speed) { // Setter 메소드
if(speed < 0) {
this.speed = 0; // 매개값이 음수라면, 필드에 0으로 저장하고 메소드 실행 종료
return;
} else {
this.speed = speed;
}
}
2. Getter 메소드
- 외부에서 객체의 데이터를 읽을 때 사용
ex) 자동차 속도를 마일에서 Km 단위로 환산해서 외부로 리턴하는 getSpeed( ) 메소드
double getSpeed() { // Getter 메소드
double km = speed * 1.6; // 필드 값인 마일(speed)를 km 단위로 환산 후 외부로 리턴
return km;
}
3. Setter / Getter 메소드 선언 방식
private 타입 fieldName; // 필드 접근 제한자 : private
//Getter
public 리턴타입 getFieldName() {
return fieldName;
}
//Setter
public void setFieldName(타입 fieldName) {
this.fieldName = fieldName;
}
- 클래스를 선언할 때 가능하다면 필드를 private 로 선언해서 외부로부터 보호하고
- 필드에 대한 Setter / Getter 메소드를 작성해서 필드값을 안전하게 변경 / 사용하는 것이 좋음
'JAVA' 카테고리의 다른 글
| [JAVA] Generic(제네릭) (0) | 2021.11.15 |
|---|---|
| [JAVA] Casting(캐스팅 : 형변환) (0) | 2021.11.12 |
| [JAVA] 상속 (0) | 2021.11.11 |
| [JAVA] HashMap (0) | 2021.11.10 |
| [JAVA] ArrayList (0) | 2021.11.10 |
Comments