본문 바로가기

AWS CLOUD FRAMEWORK/Java

[Day11] Ex01_Getter_Setter

package oop;

import java.util.Arrays;

class Drink {
	private String name;		// 이름은 private이므로 외부에서 접근할 수 없다
	private int price;
	private String[] nutritions;
	
	public Drink(String name, int price, String[] nutritions) {
		this.name = name;
		this.price = price;
		this.nutritions = nutritions;
	}
	
	public String getName() {	// 이름을 그대로 반환하는 메서드
		return name;			// 메서드는 클래스 내부에 있어서 접근이 허용된다
	}							// 메서드는 public이므로 외부에서 호출할 수 있다
	
	public void setName(String name) {	// 전달받은 이름을 필드에 저장하는 메서드
		this.name = name;				// 메서드는 클래스 내부에 있어서 대입이 허용된다
	}									// 메서드는 public이므로 외부에서 호출할 수 있다
	
	public int getPrice() {
		return price;
	}
	
	public void setPrice(int price) {	// 객체 생성 이후에도, 값을 자유롭게 바꿀 수 있다
		this.price = price;
	}
	
	public String[] getNutritions() {	// getter만 만들면 값을 확인할 수 있으나
		return nutritions;				// setter가 없어서 값을 바꿀수는 없다
	}
}

public class Ex01_Getter_Setter {
	public static void main(String[] args) {
		
//		Drink ob1 = new Drink();
//		ob1.name = "코카콜라";
//		ob1.price = 2000;
//		ob1.nutritions = {"열량: 112kcal", "탄수화물: 28g", "당류: 27g", "나트륨: 15mg"};
		
		String[] nutr_coke = {"열량: 112kcal", "탄수화물: 28g", "당류: 27g", "나트륨: 15mg"};
		Drink ob1 = new Drink("코카콜라", 2000, nutr_coke);
		
		ob1.setName("코카콜라 250ml");
		ob1.setPrice(880);
//		ob1.setNutritions(nutr_coke);
//		setter를 작성하지 않았기 때문에, 객체 생성 이후 값을 변경할 수 없게 된다
		
		System.out.println("상품이름 : " + ob1.getName());
		System.out.println("상품가격 : " + ob1.getPrice());
		System.out.println("영양성분표 : " + Arrays.toString(ob1.getNutritions()));
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	}
}

'AWS CLOUD FRAMEWORK > Java' 카테고리의 다른 글

[Day11] Static  (0) 2023.04.05
[Day11] JavaBeans  (0) 2023.04.05
[Day11] Tv  (0) 2023.04.05
[Day10] Quiz  (0) 2023.04.05
[Day10] AccessModifier  (0) 2023.04.05