3.객체지향(캡슐화 / getter / setter)
객체 생성시 변수 또는 배열을 사용하게 되면 일어나는 문제점들에 대한 해결방법 이후
다음 순서로는 캡슐화 작업을 통해 완전한 클래스의 형태로 변환해야한다.
캡슐화 - 추상화를 통해 정의된 속성들과 기능들을 하나로 묶어 관리하는 기법중 하나
캡슐화 과정중 가장 중요한 목적인 '데이터의 접근 제한(정보은닉)' 을 원칙으로
외부로 부터 '데이터의 직접 접근을 막고
간접적으로 데이터를 처리(값 대입 ,값 돌려주기)
**지난 시간에는 필드부만 (접근제한자 public 형태로 )일부 캡슐화
public => 어디서든 접근가능 (같은 패키지,다른패키지)
protected => 같은 패키지 접근가능, 다른 패키지일 경우 상속구조에서는 접근가능
default => 같은 패키지에서만 접근가능(다른패키지 일 떄는 절대 불가)
private => 해당 클래스에서만 접근 가능
이번시간에는 private를 사용해서 클래스를 완성시켜보도록 하겠다.
필드부(멤버변수 또는 전역변수)에 private 접근 제한자를 사용하고
(외부 패키지,클래스에서 사용불가능 하도록 )
setter 와 getter 메소드 사용
(데이터 보호를 위해 사용되며 prtivate로 접근이 제한된 경우)
setter :외부 클래스에서 필드의 변수 값을 읽어올때 사용하는 메서드
getter :외부 클래스에서 필드의 변수의 값을 사용할때 사용하는 메서드
특이사항
setter : 받아오는 값이기때문에 반환타입이 없고(void) 매개변수가 사용된다.
ex)
getter : 전달값을 돌려줘야 하기 때문에 반환 타입과 return 사용
ex)
setter / getter 변환 ex)