혼자공부중
공부하는 블로그
혼자공부중
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • 자격증 (49)
      • 정보처리기사 실기 (49)
    • JAVA (18)
    • DB (0)
    • 알고리즘 문제 풀이 (11)
      • 프로그래머스 (11)
    • Front (0)
      • HTML (0)
      • CSS (0)
      • Javascript (0)
    • 패스트캠퍼스 강의 (33)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 정보처리기사 필기 정리
  • 데이터베이스
  • 패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
  • 정보처리기사
  • 2022정보처리기사
  • 객체지향
  • 코딩테스트
  • 관계형데이터베이스
  • Java
  • 2022정보처리기사필기
  • 알고리즘
  • 상속
  • 자바
  • 정보처리기사 실기 정리
  • 수제비
  • 2022정보처리기사실기
  • SQLD
  • 메소드
  • 반복문
  • 정보처리기사 필기
  • UI
  • 변수
  • 애플리케이션테스트
  • 정보처리기사 실기
  • 프로그래머스
  • 시나공
  • 데이터모델
  • 인터페이스
  • DBMS
  • 배열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
혼자공부중

공부하는 블로그

JAVA

[JAVA] getter와 setter

2022. 2. 24. 22:34

객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는다. 

그 이유는 객체의 데이터를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성이 깨질 수 있기 때문이다

이런 문제점을 해결하기 위해 데이터는 외부에서 접근할 수 없도록 막고 메소드는 공개해서 외부에서 메소드를 통해 데이터에 접근하도록 유도한다

이러한 역할을 하는 메소드는 Setter이다

외부에서 객체의 데이터를 읽을 때도 메소드를 사용하는 것이 좋다

이러한 역할을 하는 메소드는 Getter이다

클래스를 선언할 때 가능하다면 필드를 private로 선언해서 외부로부터 보호하고, 필드에 대한 Setter와 Getter 메소드를 작성해서 필드값을 안전하게 변경/사용하는 것이 좋다

private 데이터타입 name;

//Getter
public 리턴타입 getName(){
	return name;
}

//Setter
public void setName(리턴타입 name){
	this.name=name;
}

필드 타입이 boolean일 경우는 Getter는 get으로 시작하지 않고 is로 시작하는 것이 관례이다

private boolean flag;

//Getter
public boolean isFlag(){
	return flag;
}

//Setter
public void setFlag(boolean flag){
	this.flag=flag;
}

만약 외부에서 필드값을 읽을 수만 읽고 변경하지 못하도록 하려면(읽기 전용) Getter 메소드만 선언해도 되고, Setter 메소드를 private 접근 제한을 갖도록 선언해도 된다

저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] 추상클래스  (0) 2022.02.28
[JAVA] 상속  (0) 2022.02.28
[JAVA] 객체와 클래스  (0) 2022.02.22
[JAVA] 객체 지향 프로그래밍(OOP)  (0) 2022.02.19
[JAVA] 배열  (0) 2022.02.17
    'JAVA' 카테고리의 다른 글
    • [JAVA] 추상클래스
    • [JAVA] 상속
    • [JAVA] 객체와 클래스
    • [JAVA] 객체 지향 프로그래밍(OOP)
    혼자공부중
    혼자공부중
    대단한 목적보다는 혼자 공부하는 것에 의미를 두려고 합니다.

    티스토리툴바