[Java 문법 종합반]2주차 4장

기 원·2025년 2월 26일

Java 문법 종합반

목록 보기
6/9
post-thumbnail

1. 클래스가 공유하는 공간

1. Static

  1. Static이란?
    • static 키워드는 모든 객체가 함께 사용하는 변수메서드를 만을때 사용
    • `객체(인스턴스)를 만들지 않아도 클래스 이름만으로 바로 사용가능
    • static변수와 메서드는 한 번만 생성되고 `Method Area)에 저장

2. Static 활용

  • static 키워드는 변수, 메서드에 붙일 수 있음
  • static 키워드로 선언된 변수와 메서드는 Method Area에 저장
  • 각 객체는 클래스영역에 저장된 데이터를 활용할 수 있다.

3. 인스턴스 멤버(인스턴스 변수 + 인스턴스 메서드)

  1. 인스턴스 멤버란?
    • 객체를 만들때 마다 생성되는 변수메서드
    • 객체(인스턴스)를 생성한 후에만 사용할 수 있다.
    • 각 객체가 개별적으로 값을 가진다
    • 인스턴스는 Heap 영역에 위치
  2. 인스턴스 변수란?
    • 객체가 생성될 때마다 따로 만들어지는 변수
    • 객체를 생성한 후 접근할 수 있다
    • name변수는 각 객체마다 별도로 저장
class Person {
		String name; // ✅ 인스턴스 변수
}
public class Main {
    public static void main(String[] args) {
        
        Person p1 = new Person(); // p1 객체 생성
        p1.name = "gygim"; // ✅ p1 객체의 데이터에 접근
        
        Person p2 = new Person(); // p2 객체 생성
        p2.name = "Steve"; // ✅ p2 객체의 데이터에 접근
    }
}

  1. 인스턴스 메서드란?
    • 객체의 속성을 활용하는 메서드
    • 객체가 생성된 후에만 사용

4. 클래스 멤버(클래스 변수 + 클래스 메서드)

  1. 클래스 멤버란?
    • 클래스 자체에 속하는 변수메서드를 의미
    • static 키워드를 사용해 선언
    • 해당 클래스로 만들어진 객체가 공유해서 사용가능
    • 클래스가 로드될때 Method Area에 적재
    • 객체 생성 없이 사용가능

  1. 클래스 변수란?
    • 클래스가 로드될 때 한 번만 생성
    • 모든 객체가 공유하는 변수
    • Heap이 아니라 Method Area에 저장
    • 객체를 만들지 않아도 클래스명.변수명으로 접근가능

  1. 클래스 메서드란?
    • 클래스에 속하는 메서드
    • 객체 없이 사용 가능
    • 클래스 변수만 사용할 수 있고 인스턴스 변수는 사용 불가

profile
노력하고 있다니까요?

0개의 댓글