Skip to content

Latest commit

 

History

History
20 lines (18 loc) · 1.23 KB

[Java] non-static 멤버와 static 멤버의 차이.md

File metadata and controls

20 lines (18 loc) · 1.23 KB

non-static 멤버와 static 멤버의 차이

  • non-static 멤버
    • 공간적 특성 : 해당 멤버는 객체마다 별도로 존재한다.
      • 인스턴스 멤버라고 부른다.
    • 시간적 특성 : 객체 생성 시에 멤버가 생성된다.
      • 객체가 생성될 때, 멤버가 생성되므로 객체 생성 후에 멤버 사용이 가능.
      • 객체가 사라지면 해당 멤버도 사라진다.
    • 공유의 특성 : 공유되지 않는다.
      • 멤버는 객체 내에 각각 독립된 공간을 유지하므로 공유되지 않는다.
  • static 멤버
    • 공간적 특성 : 해당 멤버는 클래스 당 하나만 생성된다.
      • 해당 멤버는 객체 내부가 아닌 별도의 공간에 생성된다.
      • 클래스 멤버라고 부른다.
    • 시간적 특성 : 클래스 로딩 시에 멤버가 생성된다.
      • 객체가 생성되기 전에 이미 생성되므로 객체를 생성하지 않고도 사용 가능.
      • 객체가 사라져도 해당 멤버가 사라지지 않는다.
      • 해당 멤버는 프로그램이 종료될 때, 사라진다.
    • 공유의 특성 : 동일한 클래스의 모든 객체들에 의해 공유된다. (하나의 클래스로부터 생성된 여러 객체가 공유한다.)