Up & Down 게임 만들기
주사위 게임 만들기
메모리
메모리 구조
- 모든 자바 프로그램은 자바 가상 머신(JVM)을 통해서 실행됨
- 운영체제에 독립적
메서드 영역(method) 영역
- 클래스의 정보 클래스 변수(static variable) 저장
- JVM은 클래스가 사용될때 *.class 읽어들여 해당 클래스에 대한 정보를 메서드 영역에 저장
힙(heap)영역
- 인스턴스 변수가 저장되는 영역
- New키워드를 사용해서 만드는 변수 영역
reference라는 참조변수를 두어 실제 주소 값을 찾아감
스택(stack)영역
- 메서드의 정보 또는 일반 변수 저장
Scanner input = new Scanner(System.in);
// input은 stack영역
// new Scanner()은 힙영역
// 실제 메서드 코드는 메서드영역
배열
같은 자료형으로 연속된 메모리 공간에 할당하여 사용하는 것
배열의 쓰임
- 여러 개의 변수를 한번에 선언 가능
- 같은 형의 변수들을 연속적으로 쓸 수 있음
배열 참조 변수 생성
데이터타입[] 배열명;
- 일반 선언문과 동일하며 배열명 뒤 배열의 요소 크기를 정함
- 배열 선언 시 [ ] 괄호가 1개 일 때 1차원배열, 2개 일 때 2차원 배열이라고 함
- 사용할 수 있는 배열의 요소의 첨자(=인덱스)는 0부터 시작
- 배열명은 배열의 첫 번째 주소를 가지는 참조 변수임
int[] arr = new int[5]; // 가능
int[] arr = new int[]{1,2,3,4,5} // 가능
int[] arr = new int[5]{1,2,3}// Error, 불가능