JAVA/배운 후

3.객체지향(캡슐화 / getter / setter)

규율 위에 자유 2023. 6. 7. 13:55

객체 생성시 변수 또는 배열을 사용하게 되면  일어나는 문제점들에 대한 해결방법 이후

 

다음 순서로는 캡슐화 작업을 통해 완전한 클래스의 형태로 변환해야한다.

 

캡슐화 - 추상화를 통해 정의된 속성들과 기능들을 하나로 묶어 관리하는 기법중 하나

 

캡슐화 과정중  가장 중요한 목적인 '데이터의 접근 제한(정보은닉)' 을 원칙으로 

외부로 부터 '데이터의 직접 접근을 막고

간접적으로 데이터를 처리(값 대입 ,값 돌려주기)

 

**지난 시간에는 필드부만 (접근제한자 public 형태로 )일부 캡슐화  

 

 public => 어디서든 접근가능 (같은 패키지,다른패키지)
 protected => 같은 패키지 접근가능, 다른 패키지일 경우 상속구조에서는 접근가능 
 default => 같은 패키지에서만 접근가능(다른패키지 일 떄는 절대 불가)
 private => 해당 클래스에서만 접근 가능 

 

이번시간에는 private를 사용해서 클래스를 완성시켜보도록 하겠다.

 

필드부(멤버변수 또는 전역변수)에 private 접근 제한자를 사용하고

(외부 패키지,클래스에서 사용불가능 하도록 )

setter 와 getter 메소드 사용

(데이터 보호를 위해 사용되며 prtivate로 접근이 제한된 경우)

 

setter :외부 클래스에서 필드의 변수 값을 읽어올때 사용하는 메서드

 

getter :외부 클래스에서 필드의 변수의 값을 사용할때 사용하는 메서드

 

특이사항 

setter :  받아오는 값이기때문에  반환타입이 없고(void) 매개변수가 사용된다. 

 

 

ex)

 

getter : 전달값을 돌려줘야 하기 때문에 반환 타입과 return 사용

ex)

 

 

setter / getter  변환 ex)

 

private 접근제한자 설정 후 getter/setter로 외부에서 값을 수정하거나 읽을 수 있게 변환