Class 는 public 과 default(friendly 또는 package 제한자로 불림) 제한자 사용
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ cat src/pkg1/ModuleDefault.java
package pkg1;
class ModuleDefault {
void method_default() {
System.out.println("Default method of Module1");
}
}
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin src/pkg1/ModuleDefault.java
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ tree
.
├── bin
│ └── pkg1
│ └── ModuleDefault.class
└── src
├── main
│ └── Main.java
├── pkg1
│ └── ModuleDefault.java
└── pkg2
└── ModulePublic.java
6 directories, 4 files
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin -cp bin src/main/Main.java
src/main/Main.java:3: error: ModuleDefault is not public in pkg1; cannot be accessed from outside package
import pkg1.ModuleDefault;
^
src/main/Main.java:7: error: cannot find symbol
ModuleDefault module = new ModuleDefault();
^
symbol: class ModuleDefault
location: class Main
src/main/Main.java:7: error: cannot find symbol
ModuleDefault module = new ModuleDefault();
^
symbol: class ModuleDefault
location: class Main
3 errors
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin src/pkg1/ModuleDefault.java
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ tree
.
├── bin
│ └── pkg1
│ └── ModuleDefault.class
└── src
├── main
│ └── Main.java
├── pkg1
│ └── ModuleDefault.java
└── pkg2
└── ModulePublic.java
6 directories, 4 files
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ cat src/main/Main.java
package main;
import pkg1.ModuleDefault;
class Main {
public static void main(String[] args){
ModuleDefault module = new ModuleDefault();
}
}
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin -cp bin src/main/Main.java
src/main/Main.java:3: error: ModuleDefault is not public in pkg1; cannot be accessed from outside package
import pkg1.ModuleDefault;
^
src/main/Main.java:7: error: cannot find symbol
ModuleDefault module = new ModuleDefault();
^
symbol: class ModuleDefault
location: class Main
src/main/Main.java:7: error: cannot find symbol
ModuleDefault module = new ModuleDefault();
^
symbol: class ModuleDefault
location: class Main
3 errors
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ cat src/pkg2/ModulePublic.java
package pkg2;
public class ModulePublic {
void method_default() {
System.out.println("Default method of Module1");
}
}
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin src/pkg2/ModulePublic.java
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ tree
.
├── bin
│ ├── pkg1
│ │ └── ModuleDefault.class
│ └── pkg2
│ └── ModulePublic.class
└── src
├── main
│ └── Main.java
├── pkg1
│ └── ModuleDefault.java
└── pkg2
└── ModulePublic.java
7 directories, 5 files
ihongjun@ihongjun-ui-iMac:~/Funny/Test$ javac -d bin -cp bin src/main/Main.java
ihongjun@ihongjun-ui-iMac:~/Funny/Test$
'Java' 카테고리의 다른 글
Java 내부클래스(Inner Class) (0) | 2014.12.24 |
---|---|
Java 캡슐화(Encapsulation) (0) | 2014.12.24 |
Java 라이브러리 사용 (0) | 2014.12.18 |
Java 다형성 - 인터페이스 & 상속 (0) | 2014.12.18 |
Java 컴파일 (0) | 2014.12.17 |