클래스의 문법
클래스
객체를 정의하는 틀, 객체를 추상화 한 것
클래스의 구성
- 속성
- 생성자
- 기능
field
객체의 속성 변수를 나타내는 필드(field)
필드의 종류
- 클래스 변수(static 키워드를 가지는 변수)
- 인스턴스 변수(static 키워드를 가지지 않는 변수)
- 지역 변수(메소드, 생성자 블록 내에 위치한 변수)-스택 영역에 저장
클래스 변수는 클래스가 메모리에 올라갈 때 생성되고 프로그램이 종료될 때 소멸된다.
- 메소드 영역에 저장된다.(프로그램이 종료될 때까지 메모리에 남아있다.)
- 해당 클래스의 모든 인스턴스가 공유해야 하는 값을 유지하기 위해 사용한다.
인스턴스 변수는 인스턴스가 생성될 때 생성되고 인스턴스가 소멸될 때 함께 소멸된다.
- 힙 영역에 저장된다.(stack영역과 다르게 보관되는 메모리가 호출이 끝나도 삭제되지 않고 유지된다.)
- 인스턴스마다 개별적인 값을 가져야 할 때 사용한다.
constructor
객체를 어떻게 만들지 정의해놓은 것
- 기본 생성자(클래스를 생성하면 자동으로 생성된다.)
- 메소드 영역에 생성자가 저장된다.(JVM이 동작해서 클래스가 로드될 때 생성)
- 여러개가 존재 가능하다.(생성자 오버로딩)
객체의 기능,함수를 나타내는 메서드(method)
객체(object)
실제로 존재하는 것, 실제 데이터
- 객체는 힙 영역에 저장된다.
- 스택 영역에는 힙영역의 주소값이 저장된다.
인스턴스(instance)
특정 객체가 어떤 클래스의 객체인지 관계를 설명하는 것
Person person = new Person()
person은 객체
person 객체는 Person의 인스턴스이다.
객체를 만드는 과정을 인스턴스화 라고 표현한다.
this 키워드
객체 자신을 가리키는 키워드
'Java' 카테고리의 다른 글
| Interceptor (4) | 2025.07.21 |
|---|---|
| Spring 정리 (0) | 2025.07.19 |
| 자바 계산기 구현 (4) | 2025.07.12 |
| 추상화와 상속 (2) | 2025.07.10 |
| [Java] 업캐스팅, 다운캐스팅 (0) | 2025.07.07 |