- 구조 이해
- JVM이 .class 파일을 불러와 실행 (.class는 byte code기 때문에 JVM이 이해 가능)
- java는 JVM이 실행될 때 Byte class를 가져옴.
- .class를 실행할 때 ⇒ 파일 분석
ⓛ static을 찾는다.
② main을 찾아 실행한다.
static (정적 할당)
class Person1{
static int age = 20;
static char gender = '여';
}
public class MemEx01 {
public static void main(String[] args) {
System.out.println(Person1.age);
System.out.println(Person1.gender);
}
}

static은 java의 생명주기 처음부터 끝까지 존재
main 안에서 (클래스명.static명)으로 엑세스 가능
heap (동적 할당)
class Person2 {
int age = 10;
char gender = '남';
}
public class MemEx02 {
public static void main(String[] args) {
System.out.println("1년 지남");
System.out.println("2년 지남");
System.out.println("3년 지남");
Person2 p = new Person2();
System.out.println(p.age);
System.out.println(p.gender);
System.out.println("main 종료");
}
}

heap은 new와 클래스명으로 생성하며 여러번 가능
static과 따로 생성되기 때문에 클래스명으로 엑세스 불가 → 변수 추가 필요
package ex02;
import java.util.Scanner;
public class Add2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x, y, sum;
System.out.print("첫 번째 숫자를 입력하시요: ");
x = sc.nextInt();
System.out.print("두 번째 숫자를 입력하시요: ");
y = sc.nextInt();
sum = x + y;
System.out.println(sum);
}
}
print → 옆으로 붙여쓰기 / println → 밑으로 내려쓰기
Scanner - 외부의 input을 받아 출력하는 기능
자동완성 기능을 사용해야만 맨 윗줄의 import 생성
문자열은 “ “
문자는 ‘ ‘
string
문자형 자료
Share article