프로그래밍

[자바 기초] day11 : 캡슐화(private-getter, setter) 본문

자바/자바 기초

[자바 기초] day11 : 캡슐화(private-getter, setter)

시케 2023. 5. 18. 13:22
728x90
반응형

2023.05.17.수

캡슐화

캡슐화를 통해 데이터 탈취 등의 여러 위험을 예방할 수 있다

 

자바는 public 일반적으로 디폴트 설정이 되어있다

만약 단순 연산자로 외부로부터의 접근을 막고 싶다면 private 접근 연산자를 활용하면 된다

 

클래스의 멤버 변수의 접근제어자를 private로 변경하게 된다면

클래스의 외부에서 직접적 접근이 불가해진다

 

private 을 설정한 변수에 접근시도시 에러가 발생하며
자동완성 또한 제공되지 않는다

로그

기록의 의미
보통 하나의 코드로 여러 개발자가 동시에 개발하는데
프로젝트 완성시 기여도 측정과
오류 발생시 어떤 액션+어떤 기능에서 발생했는지 기록을 할 수 있다


단, 메서드 위주로 기록되며
단순 연산자는 기록이 대부분 남지 않는다

따라서 기본 연산으로 데이터 탈취시
로그에 남지 않아서 위험하다

이때 private 접근제어자를 사용하여 외부 직접 접근을 막는다

 

하지만 private 접근제어자를 쓴 후에도 객체에도 접근해야 할 필요가 있다

이때 getter 와 setter 를 사용한다

 

getter

public String getName() {
	return name;
}

해당 객체에 있는 정보를 가져올 때 사용한다

 

setter

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

해당 객체에 데이터를 저장할때 사용한다

 

getter와 setter를 사용하면

멤버변수에 접근한다는 사실 자체는 변함없지만
메서드를 사용하여 로그에 남는다는 차이가 있다

 

만약 멤버변수가 여러개일때 여러번 getter와 setter를 선언하기는 힘드니

generate getter setter 활용하면 쉽다

 

728x90
반응형
Comments