private String name;
private int price;
private int count;
public string GetName() { return name; } // {}는 한줄로 줄이면 보기좋다.
public void SetName(string name) { name = name; }
public string GetPrice() { return price; }
public void SetPrice(string price) { price = price; }
public string GetCount() { return count; }
public void SetCount(string count) { name = count; }
왜 굳이 private으로 변수를 생성하고 get/set을 이용해 데이터에 접근할까?
이는 데이터 무결성을 지키기 위함이다.
만약 음식의 가격, 갯수가 음수가 온다면 데이터 형식에 맞지 않기 때문에 get/set 함수 내에서 무결성을 지켜주어야한다.
▶ 무결성
데이터의 정확성과 일관성을 유지하고 보증하는 것
ex) 물건의 가격은 음수일 수 없다. -> (price > 0)
// set 함수를 통해 무결성 지키기
public void SetPrice() {
if(price >= 0) {
price = price;
} else {
throw new IllegalArgumentException("가격은 음수가 될 수 없습니다.");
}
단축키를 통해 get/set을 쉽게 만들 수 있고, 무결성을 지킬 수 있지만, 변수가 많고 지킬 무결성이 없을 수 있다.
이럴 때 Lombok을 사용하면 get/set 함수를 직접 작성하지 않아도 사용이 가능하다.
<!-- Lombok -->
<!-- version : https://projectlombok.org/download -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version> <!--버전은 그때 맞춰서-->
</dependency>
// Lombok 사용 예시
import lombok.Data;
@Data
private String name;
private int price;
private int count;