Notice
Recent Posts
Recent Comments
개발일지
[이것이 자바다] 정적 멤버와 static 본문
대학교 2학년 때부터 거의 5-6년 자바를 사용해왔지만, 다시 자바 기본을 다지기 위해 [이것이 자바다] 라는 책을 펴본다.
가끔씩 이렇게 기본 개념을 다시 잡아보고 정리하면 내것이 되고 공유하면 좋을 것같아 글을 써본다!
이걸 아직까지 제대로 몰랐어? 할 수 있지만 이제라도 알아서 얼마나 다행인가!
static 은 "고정" 이라는 의미를 가지고 있다.
정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다.
이것들을 각각 정적 필드와 정적 메소드라고 부른다.
정적 멤버와 정적 메소드를 선언하는 방법은 필드와 메소드 선언 시 static 키워드를 추가적으로 붙이면 된다.
public class 클래스 이름 {
//정적 필드
static 타입 필드 [ = 초기값 ];
//정적 메소드
static 리턴타입 메소드이름(매개변수 선언, ... ) { ... }
}
정적 필드와 정적 메소드는 클래스에 고정된 멤버이므로 클래스 로더가 클래스(바이트코드)를 로딩해서 메소드 메모리 영역에 적재할 때 클래스별로 관리한다. 그래서 클래스의 로딩이 끝나면 바로 사용할 수 있다!
그래서!!
필드를 선언할 때 인스턴스 필드로 선언할지 정적(static)으로 선언할건지 판단 기준은
객체마다 가지고 있어야 할 데이터라면 인스턴스 필드로 선언하고, 객체마다 가지고 있을 필요성이 없는 공용적인 데이터라면 정적으로 선언하는 것이 좋다.
'JAVA' 카테고리의 다른 글
[Java][Spring] 스프링의 특징과 의존성 주입 (0) | 2022.12.08 |
---|---|
코틀린[Kotlin], 정말 자바[JAVA]와 100% 호환되나? (0) | 2022.11.04 |
[JAVA] 참조 타입 reference type (0) | 2022.03.03 |
[JAVA] 자바 가상 기계 JVM (0) | 2021.12.14 |
[JAVA] StringBuilder (0) | 2021.12.07 |