본문 바로가기

Java

클래스 문법

클래스의 문법


클래스


객체를 정의하는 틀, 객체를 추상화 한 것

클래스의 구성

  1. 속성
  2. 생성자
  3. 기능

field


객체의 속성 변수를 나타내는 필드(field)

필드의 종류

  1. 클래스 변수(static 키워드를 가지는 변수)
  2. 인스턴스 변수(static 키워드를 가지지 않는 변수)
  3. 지역 변수(메소드, 생성자 블록 내에 위치한 변수)-스택 영역에 저장

클래스 변수는 클래스가 메모리에 올라갈 때 생성되고 프로그램이 종료될 때 소멸된다.

  • 메소드 영역에 저장된다.(프로그램이 종료될 때까지 메모리에 남아있다.)
  • 해당 클래스의 모든 인스턴스가 공유해야 하는 값을 유지하기 위해 사용한다.

인스턴스 변수는 인스턴스가 생성될 때 생성되고 인스턴스가 소멸될 때 함께 소멸된다.

  • 힙 영역에 저장된다.(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