접근제한자 와 가비지 컬렉션
접근 한정자(Access Modifier, 제한자, 수정자)
클래스간에 멤버 변수나 멤버 메소드에 접근하는 것을 제한할 수 있습니다.
클래스간에 간섭을 줄이기 위해 적용합니다.
객체지향에서 캡슐화를 구현하는 핵심 기술입니다.
클래스간에 간섭을 막을 수 있음으로 콤포넌트의 독립성을 강화할 수 있습니다.
접근 제한자 같은 클래스 같은 패키지 상속관계의 다른 패키지 관련없는 다른 패키지
private ○ X X X (중요)
friendly ○ ○ X X
protected ○ ○ ○ X
public ○ ○ ○ ○ (중요)
특성보장
private, 보안성이 향상됨, 콤포넌트의 독립성이 보장됩니다. 독립성이 요구되는 WEB관련 프로그램에서는 private 제한자가 아주 많이 사용됩니다.
콤포넌트간 간섭을 최소화하여 독립성을 유지할 수 있습니다.
private변수는 해당클래스안에서만 접근할 수 있습니다. 따라서 이 변수에 접근하려면 public 형태의 메소드를 이용해야 합니다.
데이터 은닉 및 캡슐화에 사용됩니다.
private 멤버 변수
private 멤버 변수(전역변수, 인스턴스 변수)에 값을 할당하고 가져오기(★)
입력되는 값을 검증하여 입력합니다.
외부에서 변수의 값을 마음대로 조작할 수 없음으로 안정적인 프로그램을 구현할 수 있습니다.
Data.java
DataAccess.java
private method 응용
PrivateTest.java
PrivateTestMain.java
Garbage Collecting
member 변수와 객체에 할당된 메모리를 회수 합니다.
자바 가상 기계가 자동으로 수행 합니다.
멤버 메소드등 일반 메소드안에서 생성된 객체는 메소드 종료시 자동으로 메모리 회수됩니다.
null 값을 가지고 있는 객체변수는 회수의 대상이 됩니다.
우선 순위가 낮은 스레드로 수행, 일반적인 경우 모든 스레드가 종료된 후 수행
gc()를 실행되면 강제로 메모리 회수 작업을 하게되며 finalize()메소드가 호출된다. 그러나 gc()자체는 많은 부하를 동반함으로 JVM이 실행하도록 하는것이 좋습니다.
Garbage.java
GarbageTest.java
Last updated