캡슐화와 접근제어자

접근제어자를 사용하는 이유 ?
1. 외부로부터 데이터를 보호하기 위하여   =  캡슐화
2. 외부에는 불필요한 노출할 필요없이, 내부적으로만 사용되는 부분을 감추기 위해서 

 

멤버변수에 모두 접근 가능시 해당클래스의 범위에 맞지 않게 사용될수 있다.

예) 
public class Time{
    public int hour;     // 시간클래스이기에 hour의 범위는 0~23
    public int minutes;  // 범위 0~59
    public int second;   // 범위 0~59
}

// 그런데 다른 클래스에서
TIme t = new Time();
t.hour = 25;   // hour에 25를 대입시 컴파일 에러는 없지만,    Time 클래스의 내부 범위에는 맞지않다. 
               // 그래서 private으로 접근을 제한함.

 

 

 

 

조건이 유효한지 체크하는 boolean 메서드 만들기

매개변수로 넘겨진 hour가 유효한지 확인해서 알려주는 메서드 (내부에서만사용)

 

 


다형성 (polymorphism)

규칙
1. 여러가지 형태를 가질수 있는 능력.
2. 조상타입 참조변수로 자손타입 객체를 다루는 것. ( 자손으로는 조상타입객체 다루기 불가 )

 

 

 

 

 


참조변수의 형변환

실제 가리키는 객체(인스턴스)가 중요, 컴파일까지는 오류가 발생되지 않아 늦게 발견할수 있다
규칙
1.사용할수 있는 맴버의 갯수를 조절하는 것.
2. 조상, 자손 (상속)관계의 참조변수는 서로 형변환 가능

 


instanceof 연산자

규칙
1. 참조변수의 형변환 가능여부 확인에 사용, 가능하면 true 반환
2. 형변환 전에 반드시 instaceof로 확인해야함

 

 


출처 : 남궁성의 정석코딩

https://www.youtube.com/@MasterNKS

70~96 (26)

+ Recent posts