인스턴스 멤버와 클래스 멤버

song yuheon·2023년 8월 20일
0
  • 멤버 = 필드 + 메서드
    • 인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드
    • 클래스 멤버 = 클래스 필드 + 클래스 메서드

필드와 메서드는 선언하는 방법에 따라 인스턴스 멤버와 클래스 멤버로 구분 가능
인스턴스 멤버는 객체 생성 후에 사용 가능, 클래스 멤버는 객체 생성 없이도 사용 가능

  • 인스턴스 멤버
    객체의 인스턴스 필드는 각각의 인스턴스 마다 고유한 값
    객체의 메서드들은 인스턴스화 할때 마다 생성되지는 않다.
    메서드 영역에 두고 모든 인스턴스 들이 공유해서 사용한다. 하지만 무조건 객체를 생성, 인스턴스를 통해 메서드가 사용할 수 있도록 제한

  • 클래스 멤버
    클래스는 java의 클래스 로더에 의해 메서드 영역에 저장되어 사용
    필드와 메서드를 클래스 멤버로 만들기 위해서는 static 키워드를 사용


+)

  • final 필드와 상수
    • final 필드는 초기값이 저장되면 해당값을 프로그램이 실행하는 도중에는 절대로 수정 불가
    • final 필드는 반드시 초기값을 지정
    final String company = "GENESIS";
  • 상수란?
    상수의 특징은 값이 반드시 한개이며 불변의 값을 의미
    인스턴스마다 상수를 저장할 필요 없음
    final 앞에 static 키워드를 추가하여 모든 인스턴스가 공유할 수 있는 값이 한개이며 불변인 상수를 선언 가능
    static final String COMPANY = "GENESIS";
profile
backend_Devloper

0개의 댓글