본문 바로가기

Developer/Java-oop

#013. package / import 알아보자...

#013. package / import 알아보자...

 

1. 우리는 지금 것 package를 많이 만들어 왔다. package는 연관성 있는 class들의 묶음(모음) 이라고 보면 되겠다.

컴퓨터라는 솔루션이 있다.

여기에는 입력, 출력 등을 담당하는 패키지 들이 있다.

입력 패키지에는 키보드, 마우스, 터치스크린 등.. 의 클래스 들이 있다.

키보드 클래스 에는 A key, B key 를 눌렀을 때 처리하는 기능의 메서드 들이 있다.

마우스 클래스 에는 왼쪽, 오른쪽 각각의 기능을 처리하는 메서드 들이 있다.

출력 패키지에는 모니터, 프린터, 스피커, 이어폰 등의 클래스 들이 있다.

모니터 클래스 에는 화면크기, 화면밝기 등의 기능을 가진 메서드 들이 있다.

프린터 클래스 에는 ....

여기서 노트북이라는 솔루션을 하나 더 만들려고 한다. 그럴 일은 없겠지만, 노트북에는 입력 기능만 넣고 싶다. 그러면, 입력 기능을 다시 만드는 것이 아니라 기존의 입력 패키지를 import 해서 사용하면 될 것이다.

말로 설명하니 너무나도 어려운 것 같이 느껴진다. 아래의 예제를 보는 순간 아~ 라는 감탄사가 나올 것이다.

 

2. 테스트를 위해 access package 에 PackageDemo class 를 만들고 입력해보자.

첫번째 이미지는 기존에 oop package 에 Person class 를 만들었었다.

두번재 이미지가 이번에 테스트 할 access package 의 PackageDaemo 가 되겠다.

코드

package access;

import oop.Person;

 

public class PackageDemo {

    public static void main(String[] args) {

        Person p = new Person();

        p.name = "김동혁";

        p.age = 2;

        p.sex = '남';

        p.view();

    }

}

결과

이름:김동혁, 나이:2, 성별:남

설명

문장2: oop 패키지의 Person 을 사용하겠다고 선언을 한 것이다.

문장6: oop 패키지의 Person 클래스 객체 p 를 생성하고 사용 하는 것을 확인할 수 있다.

 

3. import 문을 사용하지 않고, 패키지 이름을 입력하고 사용 할 수도 있다.

코드

package access;

//import oop.Person;

 

public class PackageDemo {

    public static void main(String[] args) {

        oop.Person p = new oop.Person();

        p.name = "김동혁";

        p.age = 2;

        p.sex = '남';

        p.view();

    }

}

결과

이름:김동혁, 나이:2, 성별:남

설명

문장2: import 를 사용하지 않고 문장6 처럼 패키지 이름을 적고 사용 할 수도 있다.

 

다음 시간에는 inheritance (상속) 에 대해서 알아보자.

 

잡담. 빨리 끝을 봐야 하는데.. 마음만 급하네요.. 오늘도 고생하셨습니다. (__);