Java - Get/Set 함수에 익숙해지자

컴퓨터/Java

728x90
반응형

접근 지정자 private 

Java언어 프로그래밍을 공부하면 캡슐화 / 정보의 은닉 등의 장점이 있다는 말이 많이 나옵니다. 바로 private키워드를 이용하기 때문입니다. 만약 클래스를 정의하는데 이 클래스의 변숫값을 외부에서 접근하지 못하게 하기 위해서 private키워드를 사용합니다.

 

public class TestClass{
	private int number;
}

public class Test {

	public static void main(String[] args) {
		
		TestClass A = new TestClass();
		A.number = 10;		// error 발생
	}

}

위처럼 private 키워드를 사용하면 함수로 객체들 안의 변수를 제어할수 없게 됩니다. 

 

Get/Set 메서드

위처럼 객체의 접근을 제한하는 취지는 좋지만, 불가피하게 객체 외부에서 접근을 막은 값을 제어해야 되거나 외부에서 그 값을 보는 것 , 또는 주는 것만을 하고 싶은 경우가 종종 있게 됩니다. 이러한 상황에서 간접적인 형태로 그 값을 제어하는 방법이 바로 메서드의 형태로 구현하는 방법입니다. 

 

class TestClass{
	private int number;
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	public void Print()
	{
		System.out.println(number+"의 값");
	}
}
public class Test {

	public static void main(String[] args) {	
		TestClass A = new TestClass();
		//A.number = 10;		// error 발생
		A.setNumber(10);
		A.Print();
		System.out.println(A.getNumber());
	}

}

위와 같이 다양한 private으로 선언된 멤버변수들중 특정한 값만 함수의 형태로 외부에서 값을 제어할 수 있게 사용할 수 있습니다. 

위와 같이 특정한 멤버변수들만 Get/Set함수를 만들어서 제어할 수 있게 됩니다.

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :