열혈 Java 10차시

미래·2022년 11월 26일
0

열혈 Java

목록 보기
10/12

10-1 클래스 변수

  • static 붙으면 클래스 변수 static 변수라고 부르기도 한다
  • 인스턴스 변수가 아니다
  • 공유하는 변수이다
  • 임의의 클래스에 자리를 빌린다 따라서 이 클래스에서 지정하는 접근 수준 지시자를 따른다
  • 외부에서 클래스변수에 접근하는 경우 인스턴스 이름으로 접근하는 것보다는 클래스 이름으로 접근하는 것이 좋다
  • 클래스 변수의 적절한 초기화 위치는 생성자 밖의 영역이다 생성자 안에 두면 리셋된다
  • 인스턴스마다 가질 필요 없는 변수->클래스 변수
  • 외부에서 참조한다면 public으로 선언

10-2 클래스 메소드

  • 클래스 메소드의 성격 및 접근 방법은 클래스 변수와 동일하다
  • 단순 기능 제공이 목적인 메소드, 인스턴스 변수와 관련 지을 이유가 없는 메소드-> static으로 선언하는 것이 옳다
  • 클래스 메소드는 인스턴스 변수와 공간적으로 분리되어 있고 어떤 인스턴스 변수에 접근할 지 결정할 수도 없으므로 인스턴스 변수에 접근할 수 없다

10-3 System.out.println() 그리고 public static void main()

  • System은 클래스 이름
  • out은 클래스 변수
  • println은 out이 참조하는 인스턴스 내부의 메소드
  • public으로 두기로 약속된 것으로 이해한다
  • main은 하나여야 한다 따라서 임의의 클래스에 static으로 선언한다

10-4 또 다른 용도의 static 선언

  • static 초기화 블록
  • static변수 초기화는 가장 보편적으로 선언과 동시에 초기화하는 방법이 있지만
  • 내가 지정해주는 값이 아니라 컴퓨터에서 얻어오는 값으로 초기화할 때는 static 초기화 블록을 쓴다
  • 인스턴스 생성과 관계없이 static 변수가 메모리 공간에 할당된 직후에 static 초기화 블록 내부의 코드가 실행된다

0개의 댓글