반응형
* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다.
모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며
학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다.
06-02 파일 입출력
이번에는 파일을 이용한 입출력 방법을 알아보자. [TOC] ## 파일 쓰기 다음의 예제를 작성해 보자. ```{.java} import java.io.FileOutput…
wikidocs.net

패키지 사용 이유
패키지를 사용하면 비슷한 성격의 클래스들끼리 묶을 수 있어 클래스의 분류가 용이하다.
또한 다른 사람이 작성한 자바 클래스나 라이브러리를 사용해야할 경우 클래스명이 동일할 수 있는데
패키지가 다르면 동일한 클래스명을 사용할 수 있다.
접근 제어자 (access modifier)
접근 제어자를 사용해 변수나 메서드의 사용 권한을 설정할 수 있다.
private < default < protected < public 순으로 보다 많은 접근을 허용한다.
private |
- 접근 제어자가 private으로 설정되었다면 private이 붙은 변수나 메서드는 해당 클래스 안에서만 접근 가능 - secret 변수와 getSecret() 메서드는 오직 Sample 클래스에서만 접근 가능 (다른 클래스에서는 접근 불가능) |
|
default |
접근 제어자를 별도로 설정하지 않는다면 변수나 메서드는 default 접근 제어자가 자동으로 설정되어 동일한 패키지 안에서만 접근 가능 |
ClassA에 있는 'inx x'는 default 접근 제어자를 가지고 있으며, 동일한 패키지에 있기 때문에 ClassB에서도 접근 가능하다. (다른 패키지에 있는 클래스에서는 default 접근 제어자로 선언된 멤버 변수나 메서드에 접근 불가) |
protected |
같은 패키지 내의 클래스와 해당 클래스를 상속받은 하위 클래스에서 접근 가능 (다른 패키지의 클래스는 접근 불가) |
Parent 클래스에 있는 protectedField와 protectedMethod()는 child 클래스에서 접근 가능
AnotherClass 클래스에서는 child 클래스를 통해도 protected 멤버에 직접 접근 불가 |
public |
public 접근 제어자가 붙은 변수나 메서드는 어떤 클래스에서도 접근 가능 (다른 패키지에서 사용하려면 import문을 사용해 해당 클래스를 가져와야 접근 가능) |
이 멤버들은 어떤 패키지에든지 속할 수 있으며, 상속과 관계없이 어떤 클래스에도 직접 접근 가능
AnotherClass는 mypackage 패키지에 있는 MyClass를 사용하려면 import문을 사용해 클래스를 가져와야 한다. 위의 코드를 통해 다른 패키지에 있는 Myclass 클래스의 publicMethod()를 실행하는 것을 알 수 있다. |
반응형