2025-03-04
구성 요소 | 설명 |
---|---|
속성(Attribute) | 객체마다 구별되는 데이터 (변수로 저장) |
기능(Function) | 객체가 수행할 수 있는 공통된 동작 (메서드 처리) |
📌 예제 코드
class Car {
String color; // 속성 (Attribute)
int speed; // 속성 (Attribute)
void drive() { // 기능 (Function)
System.out.println("자동차가 달립니다.");
}
}
자바는 메모리를 크게 3가지 영역으로 나눠 관리함.
메모리 영역 | 설명 |
---|---|
1) 스택(Stack) 영역 | {} 내에서 생성되고 소멸되는 지역 변수 저장 (ex: int , double ) |
2) 클래스(메서드) 영역 | 공유 메모리 영역 (클래스 정보, static 변수, static 메서드, 생성자, 일반 메서드) |
3) 힙(Heap) 영역 | new 키워드를 통해 생성된 객체가 저장되는 공간 |
📌 예제 코드
public class MemoryExample {
public static void main(String[] args) {
int x = 10; // 스택 영역
Car myCar = new Car(); // 힙 영역에 저장됨
myCar.color = "Red";
}
}
x
는 스택(Stack) 영역에 저장됨.new Car()
는 힙(Heap) 영역에 객체를 생성하고, 스택의 myCar
변수는 참조(주소)를 저장.Scanner sc = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
new
Scanner
객체를 저장함.Scanner()
Scanner
객체에 필요한 초기값을 부여하는 생성자 메서드.Scanner sc
Scanner
클래스 자료형으로 정의된 참조 변수.Scanner
객체를 생성함.sc
참조변수에는 Scanner 객체의 시작 메모리 주소가 저장됨.Scanner sc = new Scanner(System.in);
문장이 어떻게 메모리에 할당되는지 명확히 이해할 수 있었다.Scanner sc = new Scanner(System.in);
의 메모리 할당 과정 숙지.