Java_note04

채승현·2025년 3월 25일

인스턴스 멤버, 정적 멤버

  1. 인스턴스 멤버
  • 객체에 존재(힙 영역)
  • 힙 영역에 만들어지기 때문에 객체 생성시 함께 생성
  • 객체를 만들지 않으면 사용할 수 없다.
  1. 정적 멤버
  • 클래스에 존재(메소드 영역)
  • static: 클래스가 메모리에 로드될 때 함께 로드, 공통적으로 사용할 것에 static을 붙인다.
  • static변수=정적변수
  • 클래스명.필드명/클래스명.메소드명() 으로 호출
  1. 정적 초기화 블록
    인스턴스 필드는 객체 생성 시점에서 이루어진다. 정적필드는 객체 생성 이전에도 사용할 수 있어야 하므로 정적 초기화 블록 static{ }에서 초기화 해주어야 한다. 정적초기화 블록은 클래스가 메모리에 로딩될 때 가장 먼저 실행된다.

  2. 변수 유형에 따른 용도

  • 지역변수: 메소드 내부에 선언, 스택영역에 위치
  • 인스턴스 변수: 클래스에 필드로 선언, 객체 내부에 생성되고 힙 영역에 존재
  • static변수: static 예약어를 사용하여 클래스 내부에 선언, 메소드 영역에 위치
  1. 싱글톤(singleton)
  • 객체를 단 하나만 만들 수 있도록 보장하는 것
  • 생성자를 private 접근제한자로 제한해 외부에서 생성자 호출을 막는다.

※끼워넣기로 미리 배운 ArrayList<>

  • 배열은 한번 선언하면 크기를 변경할 수 없다. 때문에 크기가 일정한 곳에 사용한다.
  • ArrayList는 동적으로 메모리 공간을 확보한다.
    • add(요소): 주어진 요소를 맨 끝에 추가
    • get(int index): 주어진 인덱스에 저장된 요소를 리턴
    • size(): 저장되어 있는 전체 요소 수
    • remove(int index): 주어진 인덱스의 요소를 삭제
  • 사용 예
    ArrayList<Integer> arr = new ArrayList<Integer>
    arr.add(10);
    arr.add(20);
profile
예비 개발자..(원해요)

0개의 댓글