본문 바로가기
언어(Language)/Java

get,set 메서드

by 송기동 2023. 8. 11.
728x90

get()/ set() 메서드

private 으로 선언된 멤버 변수 (필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공

get() 메서드만 제공 되는 경우 read-only 필드
이클립스에서 자동으로 생성해주는 단축 기능이 존재한다.

Book 클래스 설계해보기

package ex_06;

public class Book {
	// 상태(속성)
	private String name;
	private String writer;
	private String publisher;
	private int price;

	// 생성자
	public Book() {

	}

	public Book(String name, String writer, String publisher, int price) {

	}

	// get 메서드
	public String getName() {
		return name;
	}

	public String getWriter() {
		return writer;
	}

	public String getPublisher() {
		return publisher;
	}

	public int getPrice() {
		return price;
	}

	// set 메서드
	public void setName(String name) {
		this.name = name;
	}

	public void setWriter(String writer) {
		this.writer = writer;
	}

	public void setPublisher(String publisher) {
		this.publisher = publisher;
	}

	public void setPrice(int price) {
		if (price <= 0) {
			System.out.println("가격이 잘못되었습니다.");
			System.out.println("계산대에 문의해주세요.");
		} else {
			this.price = price;

		}
	}

	// 기능
	public void bookShowInfo() {
		System.out.println("==== 책 정보====");
		System.out.println("책 이름 : " + name);
		System.out.println("글쓴이 : " + writer);
		System.out.println("출판사 : " + publisher);
		System.out.println("가격 : " + price);

	}
} // end of class


Car 클래스 설계해보기

package ex_06;

public class Car {

	private String carName = "우르스";
	private String makerName = "람보르기니";
	private int carNumber = 7777; 
	private int price = 270000000;

	// 생성자
	public Car() {

	}

	public Car(int price) {

	}

	public Car(String carName, String makerName, int carNumber, int price) {

	}

	// get 메서드
	public String getCarName() {
		return carName;
	}

	public String getMakerName() {
		return makerName;
	}

	public int getCarNumber() {
		return carNumber;
	}

	public int getPrice() {
		return price;
	}

	// set 메서드
	public void setCarName(String carName) {
		this.carName = carName;
	}

	public void setMakerName(String makerName) {
		this.makerName = makerName;
	}

	public void setCarNumber(int carNumber) {
		this.carNumber = carNumber;
	}

	public void setPrice(int price) {
		this.price = price;
	}

	// 기능
	public void carShowInfo() {
		System.out.println("==== 차량 정보 조회 ====");
		System.out.println("차 이름 : " + carName);
		System.out.println("제조사 : " + makerName);
		System.out.println("차 번호 : " + carNumber);
		System.out.println("가격 : " + price);

	}
} // end of class

get, set 메서드 활용 결과

package ex_06;

public class MainTest1 {

	public static void main(String[] args) {

		Book book1 = new Book();
		book1.setName("홍길동전");
		book1.setWriter("허균");
		book1.setPublisher("좋은출판사");
		book1.setPrice(8_900);
		book1.bookShowInfo();

		Car car1 = new Car();
		String returnCarName = car1.getCarName();
		String returnMakerName = car1.getMakerName();
		int returnCarNumber = car1.getCarNumber();
		int returnPrice = car1.getPrice();
		car1.carShowInfo();

	} // end of main

} // end of class
==== 책 정보====
책 이름 : 홍길동전
글쓴이 : 허균
출판사 : 좋은출판사
가격 : 8900
==== 차량 정보 조회 ====
차 이름 : 우르스
제조사 : 람보르기니
차 번호 : 7777
가격 : 270000000
728x90