static

99·2024년 9월 11일
  • 인스턴스변수 : static이 붙지 않은 멤버 변수
    - static이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있다. 따라서 인스턴스 변수라 한다.
    • 인스턴스 변수는 인스턴스를 만들 때 마다 새로 만들어진다.
  • 클래스 변수 : static이 붙은 멤버 변수
    - 클래스 변수, 정적 변수 static 변수등으로 부른다. 용어를 모두 사용하니 주의하자
    • static이 붙은 멤버 변수는 인스턴스와 무관하게 클래스에 바로 접근해서 사용할 수 있고, 클래스 자체에 소속되어 있다. 따라서 클래스 변수라 한다.
    • 클래스 변수는 자바 프로그램을 시작할 때 딱 1개가 만들어진다. 인스턴스와는 다르게 보통 여러곳에서 공유하는 목적으로 사용된다.
정적 변수는 클래스에서 공용으로 관리하기때문에 클래스를 통해서 접근하는 것이 더 명확하다. 따라서 클래스를 통해서 접근하자.
  • 클래스 메서드 : 메서드 앞에도 static을 붙일 . 수있다. 이것을 정적 메서드 또는 클래스 메서드라 한다. 정작 메서드라는 용어는 static 정적이라는 뜻이기 때문이고, 클래스 메서드라는 용어는 인스턴스 생성없이 마치 클래스에 있는 메서드를 바로 호출하는 . 것처럼 느껴지기 때문이다.
  • 인스턴스 메서드 : static이 붙지 않은 메서드는 인스턴스를 생성해야 호출할 수 있다. 이것을 인스턴스 메서드라 한다.
정적 메서드는 객체 생성없이 클래스에 있는 메서드를 바로 호출할 수 있는 장점이 있다. 하지만 언제나 사용할 수 있는 것은 아니다.
  • static 메서드는 static에서만 사용할 수 있다.
  • 반대로 모든 곳에서 static메서드를 부를 수 있다.
profile
부족과 결핍의 전환

0개의 댓글