이제 클래스 변수와 인스턴스 변수, 클래스 메소드와 인스턴스 메소드를 배웠으니
지금까지 의심없이 사용해왔던 System.out.println(" "); 을 보다 자세하게 살펴볼 수 있습니다.
● import java.lang (자바 랭귀지) 는 자바의 기본 기능이 내제되어 있는 패키지(표준 라이브러리) 이므로
import 를 작성하지 않아도 자동으로 적용이 됩니다.
System.out.println(...) ;
System -> 은 패키지에 묶여있는 클래스 이름
out-> 은 클래스 변수 이름 (출력관련 참조 변수 그 안에는 println 이라는 메소드가 있습니다.)
println -> 은 out 이 참조하는 인스턴스 메소드
public static void main(String[] args) {
static 은 인스턴스 생성과 관계없이 가장 먼저 호출 될 수 있도록 만든 메소드
public 은 메인 메소드의 호출명령은 외부로부터 시작되는 명령이므로 일종의 약속처럼 붙여주는 것 입니다.
(String[] args) { 은 기본 메소드에는 괄호에 전달하는 인수가 있기 때문에, 자바 시스템에서 데이터를 전달하고 싶을 경우에 이것을 사용할 수 있습니다. 일종의 약속처럼 붙여줍니다.
● static 의 기본 용도는 클래스 멤버로 선언하여 특징을 부여하는 것입니다.
static에 대해서는 이전 포스팅에서 자세하게 본 적이 있어요.
https://blue-dot.tistory.com/53
1. 한 번 만들어지고 끝이고,
2. 모든 객체가 공유하며
3. 접근 방법에 차이를 만듭니다.
static 변수를 처음에 생성할 때 초기화를 하지 않고 이후에 초기화를 할 때
클래스 변수가 초기화될 때 함께 처리할 내용을 선어나는 블록을 만들어 주면 됩니다.
아래의 예제를 참고해주세요.
import java.time.LocalDate; //시간을 발췌하는 클래스 현지의 날짜 참조 변수를 만들고
public class dataTest {
static String date;
// 클래스 변수가 초기화될 때 함께 처리할 내용을 선언하는 블록
static {
LocalDate nDate = LocalDate.now();
date = nDate.toString();
}
public static void main(String[] args) {
System.out.println(date);
}
자바 기본 라이브러리에 있는 현지 날짜 참조 클래스를 참조해서
static {
LocalDate nDate = LocalDate.now(); // 현재의 시간을 확인해서 해당 값으로 초기화를 합니다.
date = nDate.toString();
}
즉 static 이라는 이름만 가진 { } 코드 블록을 만들어 줍니다.
인스턴스 생성과 관계없이 static 변수가 메모리 공간에 할당될 때 실행이 됩니다.
다만 실질적으로 클래스 static 변수는 생성과 동시에 초기화하는 것이 일반적이기 때문에
자주 쓰이지는 않는다고 합니다..
'자바 > 자바 입문 공부일지' 카테고리의 다른 글
자바 기초 공부 일지 16. String 인스턴스 (0) | 2022.10.27 |
---|---|
자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수 (0) | 2022.10.27 |
자바 기초 공부 일지 13. 클래스 변수와 인스턴스 변수, 지역 변수, 클래스 메소드와 인스턴스 메소드 (0) | 2022.10.27 |
자바 기초 공부 일지 12. 생성자와 String 클래스 (수정중) (0) | 2022.10.27 |
자바 기초 공부 일지 11 . ★ 클래스와 인스턴스, 삼각형의 넓이 구하기 (0) | 2022.10.27 |