[JAVA jdk 1.8] 08. getter 와 setter

[JAVA jdk 1.8] 08. getter 와 setter

객체 지향 프로그래밍 (JAVA)에서 객체의 데이터는 외부에서 마음대로 읽거나 변경할 수 없도록 막는다.

객체의 무결성이 깨지기 때문인데 이러한 이유로 자바에서는 메소드를 통해 데이터를 주고받는것을 선호한다.

그래서 이러한 역할들을 해주는 메소드들 중에 Getter 와 Setter 라는 메소드들이 있다.

클래스의 빈공간에 마우스 우클릭을하고 Source -> Generate Getters and Setters... 를 누르고 가공을 원하는 개체들을 선택하면 자동으로 getter, setter 메소드를 생성할 수 있다.

Setter 메소드를 이용하여 유효한 매개값을 저장해주고

Getter 메소드를 이용하여 Setter의 매개값을 필드값으로 가공하여 외부로 전달한다.

이때 필드값은 private (접근제한자) 를 사용하여 해당 클래스 이외의 클래스에서는 접근과 변경을 할 수 없게 만든다.

AcessVO.class

// 메인에서 받은 값을 가공하여 입출력 처리하는 클래스 public class AcessVO{ // private 접근제어자를 이용하여 변수의 값이 외부로부터 변하지 않도록 한다. private long no; private String title; private String content; private String writeDate; // 자동으로 getter setter를 생성할 수 있었지만 // 공부를위해 일일히 다 적어봤다. //getter public long getNo() {return no;} public String getTitle() {return title;} public String getContent() {return content;} public String getWriteDate() {return writeDate;} //setter public void setNo(long no) {this.no = no;} public void setTitle(String title) {this.title = title;} public void setContent(String content) {this.content = content;} public void setWriteDate(String writeDate) {this.writeDate = writeDate;} }

AcessExample.class

public class AcessExample{ public static void main(String[] args) { // AcessVO객체를 생성하여 변수에 집어넣는다. AcessVO ac = new AcessVO(); // setter를 이용하여 값을 넣어준다. ac.setNo(1); ac.setTitle("공지사항"); ac.setContent("내용입니다."); ac.setWriteDate("2021.11.25"); // print메소드에 AcessVO객체를 넘겨주며 호출 print(ac); } // AcessVO에 저장된 값을 출력하는 메소드 public static void print(AcessVO ac){ // getter를 이용하여 값을 가져온다. System.out.println("번호 = " + ac.getNo()); System.out.println("제목 = " + ac.getTitle()); System.out.println("내용 = " + ac.getContent()); System.out.println("날짜 = " + ac.getWriteDate()); } }

실행결과

from http://javaya.tistory.com/10 by ccl(A) rewrite - 2021-12-11 13:01:44