자바 - 기본 구조, 주석, 클래스(외부 클래스 내부 클래스)

2023. 7. 4. 11:08자바/자바 정복

반응형

자바 프로그램 돌아가는 기본구조

1) .java 소스 파일 생성

2) .java 컴파일 되어 class 바이트 코드 생성

3) 실행을 하면 JVM이 class를 메모리에 할당

4) 메서드 영역에 클래스 로딩하여 main 메서드 실행

 

참고)

- 소스파일(.java)은 src 폴더에 존재

- 바이트코드(.class)는 bin 폴더에 존재

 

주석

- 컴파일러가 컴파일 할때 무시함

- 소스 설명 넣어줄때 많이 씀

- 여러줄 주석 : /*  내용 */

- 한줄 주속 : // 내용

 

클래스

- .java 파일에는 여러개의 class가 있을 수 있다.

- 여러개의 클래스 중에서 .java 파일명과 같은 클래스가 앞에 public을 붙일 수 있는 기회가 생긴다. 붙여도 되고 안붙여도 됨

- 클래스 안에 클래스가 있는것을 내부클래스(Inner class)라고 한다.

- 클래스 밖에 있는 클래스를 외부클래스(external class)라고 한다.

- .java 컴파일 하면 안에있는 클래스 하나당 하나의 .class 실행파일이 생김

- 내부 클래스는 컴파일 시 어느 클래스 안에 있는지 $를 이용해 .class 파일 만든다

ex) A 클래스 안에 B 클래스가 있으면 B클래스는 컴파일 후 A$B.class 

package thisPack;

//하나의 .java 파일에 여러개의 클래스가 있을 수 있다.
public class Test {
	// Test.java 파일명과 같아야 함. public이 붙은 클래스명과 같아야 함 
	// public이 붙은 class는 .java 파일 하나당 하나만 있어야함
	public static void main(String[] args) {// 이 main 메소드가 실행됨
		
		// 한줄주석
		
		/*
		 여
		 러
		 줄 
		 주
		 석
		 */

	}

}

class Test2 {
	
}

class Test3 {
	
}

class Test4 {
	class Test5 {// Inner class
		
	}
}
/* 위와 같이 5개의 클래스가 있다. 전부 Test.java 파일에 들어가 있다. 
 * 그럼 Test.java를 컴파일하면 결과적으로 각 클래스당 하나의 .class 실행파일이 생긴다.
 * 특이한 점은 Test4클래스 안에 Test5 클래스가 있다. Test5클래스가 Test4안에 있는걸
 * $로 표시해서 class 파일이 생긴다 >> Test4$Test5.class
   ex) Test.class , Test2.class , Test3.class , Test4.class , Test4$Test5.class
   	
*/

 

 

반응형