TIL_180418 자바실행과 접근제어자

Bash 자바실행

1
2
3
4
5
6
7
8
9
10
11
12
13
// 자바 컴파일링
$ javac 메인실행클래스명.java
// 컴파일링된 파일 실행
$ java 메인실행클래스명
// 메인실행클래스명에 필요한 클래스 패스 옵션이용하기
// [.]현재디렉토리 + [;]경로구분자 + 디렉토리명 으로 구성
// 즉, 현재위치 또는 해당디렉토리에서 필요한 클래스를 찾아라
// 클래스패스를 지정하지 않으면 자바는 기본적으로 현재위치에서 찾음
$ java -classpath ".;디렉토리명" 메인실행클래스명

환경변수

클래스패스를 매번 실행할때마다 지정하는것은 불편 > 환경변수를 사용하여 클래스패스 옵션을 입력하지 않아도 입력된것처럼 사용이 가능
단, 이직성에 대한 (다른컴퓨터) 문제는 발생가능

멤버 접근제어자

제어자 같은 클래스 같은 패키지 다른 패키지 /상속 관계없음
public O O O O
protected O O O X
default O O X X
private O X X X

클래스 접근제어자

  1. public:다른 패키지의 클래스에서 사용가능
  2. default: 같은 패키지에서만 사용가능

[public 참고]
public 클래스가 포함된 소소코드는 public 클래스의 클래스 명과 소스코드의 파일명이 같아야 함