CodeGym/Java Blog/무작위의/Java의 접근자와 뮤테이터
John Squirrels
레벨 41
San Francisco

Java의 접근자와 뮤테이터

무작위의 그룹에 게시되었습니다
회원
이 개념을 살펴보기 전에 Java의 클래스 및 캡슐화 에 대해 알아야 합니다 .

자바 캡슐화

캡슐화는 이름에서 알 수 있듯이 데이터와 메서드를 단일 단위로 묶는 프로세스입니다. 객체 지향 프로그래밍 에서 클래스 의 데이터 멤버는 비공개로 만들어 직접 액세스를 제한합니다. 따라서 캡슐화된 데이터 멤버는 적절하게 정의된 방법 없이는 검색하거나 수정할 수 없습니다. 이를 위해 Java에서 accessor 및 mutator 메서드를 정의합니다. 이러한 방법을 자세히 살펴보겠습니다.

Java의 접근자와 뮤테이터는 무엇입니까?

접근자

접근자 메서드의 이름 은 사용자가 클래스의 개인 정보에 액세스할 수 있도록 하는 " 접근 " 이라는 단어로 구동됩니다 . “ get ” 메서드 또는 “ getters ” 에 대해 들어본 적이 있다면 접근자와 같은 것입니다. getter는 클래스 범위 외부에서 액세스하기 위해 전용 변수와 상수를 검색합니다.

통사론

Java 접근자에 대해 " get " 키워드를 사용합니다 . 변수 “ name ”에 액세스하려면 다음 getter getName() 을 사용할 수 있습니다 . 접근자 메서드의 예는 다음을 살펴보십시오.
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
각 getter는 메서드 서명의 변수 이름 앞에 " get " 키워드가 있으며 반환 유형은 반환할 변수의 유형과 동일합니다. 변수 " name "은 " String " 유형이므로 getter/accessor 메서드도 " String "을 반환합니다.

돌연변이

Java의 뮤테이터 메서드는 문자 그대로 수정을 의미하는 "mutate"라는 단어로 구동됩니다. 뮤테이터는 사용자가 클래스 객체의 프라이빗 변수 값을 설정/변경할 수 있도록 합니다. 객체 지향 프로그래밍 컨텍스트에서 " set " 메서드 또는 " setters "는 뮤테이터라고도 합니다. 세터는 프라이빗 데이터 멤버를 직접 수정할 수 없으므로 캡슐화를 용이하게 합니다. 따라서 setter 메소드/뮤테이터는 클래스 범위 외부의 변수 값을 업데이트하는 데 사용됩니다.

통사론

뮤테이터의 경우 " set " 키워드를 사용합니다 . 각 setter는 "set" 키워드와 변경해야 하는 변수 이름으로 정의됩니다. 여기서는 String 타입의 변수를 매개변수로 받는 setter setName()을 사용합니다.
public class Student {

	private String name;

	public void setName(String name) {
		this.name = name;
	}
}

접근자와 뮤테이터가 필요한 이유는 무엇입니까?

클래스의 민감한 정보를 보호하려면 게터와 세터 또는 접근자와 뮤테이터가 필요합니다. 정보는 이러한 표준 방법을 사용하여 불법적인 사용으로부터 보호됩니다. 또한 뮤테이터의 데이터 세트는 프로그램의 모든 요구 사항을 충족하는 경우 유효성을 검사할 수도 있습니다.

액세서 및 뮤테이터 예

아래의 학생 클래스를 사용하여 accessor 및 mutator 메서드의 예를 살펴보겠습니다.

import java.util.Arrays;

public class Student {

	private String name;
	private Integer ID;
	private String DOB;
	private double GPA;
	private String[] courses;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getID() {
		return ID;
	}

	public void setID(Integer iD) {
		this.ID = iD;
	}

	public String getDOB() {
		return DOB;
	}

	public void setDOB(String dOB) {
		this.DOB = dOB;
	}

	public double getGPA() {
		return GPA;
	}

	public void setGPA(double gPA) {
		this.GPA = gPA;
	}

	public String[] getCourses() {
		return courses;
	}

	public void setCourses(String[] courses) {
		this.courses = courses;
	}

	public static void main(String[] args) {

		Student student1 = new Student();

		System.out.println("Student Bio [ Before using Accessors & Mutators ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " +  Arrays.toString(student1.getCourses()));

		// calling mutator methods
		student1.setName("Alex Coy");
		student1.setID(3115);
		student1.setGPA(2.79);
		student1.setDOB("08/08/1998");
		String[] courses = { "Object Oriented Programming", "Cryptography", "Photography", "Network Security" };
		student1.setCourses(courses);

		System.out.println("\nStudent Bio [ After using Mutators & Accessors ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
	}
}

산출

학생 약력 [ 접속자 및 접속자 사용 전 ] 이름: null ID: null GPA: 0.0 생년월일: null 과정: null 학생 약력 [ 돌연변이 및 접속자 사용 후 ] 이름: Alex Coy ID: 3115 GPA: 2.79 생년월일: 08/08/1998 과정: [객체 지향 프로그래밍, 암호화, 사진, 네트워크 보안]

결론

이것은 Java의 접근자와 뮤테이터에 대한 빠른 소개 및 예였습니다. 자신만의 샘플 예제를 만들고 이러한 방법을 직접 테스트하는 것이 좋습니다. 다음 연습으로 IDE에서 getter 및 setter를 자동으로 추가하는 방법을 찾을 수 있습니다. 알아보고 저희에게 알려주세요!
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다