본문 바로가기
Java

Java - method, field

by MoonGa 2023. 3. 18.

instance method

  • static이 붙지 않은 method
  • instance method는 instance가 생성되야지만 사용가능

class method

  • static이 붙은 method
  • class method는 instance가 생성되지 않아도 사용가능.(class명.  )
  • class method에서는 인스턴스 필드, 인스턴스 메소드 사용불가. --> 메모리에 생성되는 시점이 다르기 때문에
  • 즉, class method안에서는 class field만 사용가능함!!!!!

field

  • 클래스가 가지는 속성
  • static이 붙은 필드는 class field(클래스 변수라고도 부름)
  • static이 붙지 않은 필드는 instance field
  • 필드명은 소문자로 시작
  • static한 필드는 클래스명.필드명 형식으로 사용함. --> ex> Person.count O, p1.count X
  • 인스턴스 필드와 인스턴스 메소드는 반드시 인스턴스를 생성하고, 그 인스턴스를 참조하는 참조변수를 이용해서 사용해야함!!!
  • class field는 static블록에서 초기화가능.

main method가 실행되기 전에 static블록이 먼저 실행됨.

 

java의 메모리 영역

  • new 연산자를 사용할 때마다 메모리에 인스턴스가 생성됨.
  • static한 필드는 클래스가 로딩될때, 딱 한번 메모리에 올라가고 초기화됨.
  • instance method는 인스턴스를 생성하고나서 레퍼런스 변수를 이용해서 사용 가능.
  • class method는 클래스명.메소드명()으로 사용가능.
  • method안에 선언된 변수들은 메소드 실행 시, 메모리에 생성되고 메소드 종료 시, 사라짐.(로컬 변수)

'Java' 카테고리의 다른 글

Java - 추상 클래스  (0) 2023.03.22
Java - 생성자  (0) 2023.03.21
Java - 상속  (0) 2023.03.20
Java - 추상화, 다형성, 패키지  (0) 2023.03.18
Java - 객체지향문법  (0) 2023.03.16