1.소스파일 구조
1-1.package
가장먼저 작성해야하고 한개밖에 작성할수없음
1-2.import
package문이 없으면 가장먼저 작성, 없으면 package다음에 작성, 여러개작성가능(순서신경안씀)
다음은 java.util 패키지에서 Scanner 클래스를 import 해온다는뜻이다.
import java.util.Scanner;
1-3.클래스,인터페이스,열거형
파일이름의 public 하나만 정의가능
그외에는 여러개 한파일에 정의가능(순서 신경안씀)
// package 문: 패키지가 있다면 가장 먼저 위치
package com.example.demo;
// import 문: 클래스에서 사용할 외부 패키지들을 불러오는 역할, 여러 개 가능 (순서 상관없음)
import java.util.Scanner;
import java.util.ArrayList;
// 클래스 정의: public 클래스는 파일명과 같아야 함
public class MainClass {
}
// 추가 클래스 정의: 하나의 파일에 여러 클래스 정의 가능, 하지만 public 클래스는 하나만
class AdditionalClass {
public void sayGoodbye() {
System.out.println("Goodbye!");
}
}
2.컴파일과정
- 컴파일러가 자바코드 번역하여 .class인 바이트코드생성
- JVM이 바이트코드를 기계코드로 번역하면서 실행
3.public,private
3-1.public
다른 패키지에서 import로 접근할수있음
3-2.private
클래스 내부에서만 접근가능
4.public static void main(String[] args)
public: 외부에서 접근가능한
static: 객체를 생성하지않고 호출가능한 메소드
void: 반환이없음
main: 메소드이름
String[] args: 메소드 매개변수
5.함수 스택, 힙
5-1.함수 스택
함수 호출과 관련된 지역 변수와 함수 호출 정보(매개변수, 반환 주소 등)가 저장됩니다.
메모리 할당: 함수 호출 시 자동으로 할당 및 해제
5-2.힙
동적 메모리 할당이 이루어지는 영역으로, 객체나 배열 같은 참조형 데이터가 저장됩니다.
메모리 할당: 객체 생성 시 동적으로 할당, 가비지 컬렉터가 관리
'Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 객체,클래스 (0) | 2024.10.14 |
---|---|
[Java] 제네릭(Generic) (0) | 2024.09.11 |
[Java] String (0) | 2024.09.10 |