언어(Programming Language)/Java

[Java] Static 개념 및 사용법 (정적 데이터 선언 및 데이터 공유)

RyanSin 2021. 1. 28. 01:53
반응형

- 개요

안녕하세요. 이번 시간에는 정적인 데이터 선언 Static에 대해 알아보겠습니다.

 

Static? 무슨 뜻일까요? 국어사전에 아래와 같이 뜻을 말해주고 있습니다.

 

고정된, 정지 상태의, 잡음??  ㅋㅋ 

 

그럼 자바에서 고정되고 정지 상태 그리고 잡음? (잡고있는 건가...? 죄송합니다...)은 무엇일까요?

 

"변수나 메서드를 고정된 상태로 사용하겠다" 라고 이해하시면 됩니다. 그럼 만들어 볼까요?

 

package Access;

//사람 클래스
public class Person {

     public static String name = "개발이 취미인 사람"; // 이름
     public int age = 0; // 나이

     // 이름 불러오기
     public static void setName(){
          // 메서드가 static 으로 선언했기 때문에 this.name 으로 접근은 불 가능하다.
          System.out.println("이름 : "+ name);
     }
}

 

위와 같이 사람 클래스를 만들었고 이름과 나이 변수와 이름을 불러오는 메서드를 선언 하고 값을 지정했습니다. 

 

이름에는 static 키워드를 선언했고 나이에는 선언하지 않았습니다. 이제 그럼 호출을 해보겠습니다.

 

static으로 선언한 변수 또는 메서드는 메모리에 미리 할당을 해놓습니다. 그렇기 때문에 클래스를 new 키워드를 통해 생성하지 않아도 접근이 가능합니다.

 

변수와 메서드를 정적으로 선언했기 때문에 해당 클래스가 public 이라면 어디서든 해당 변수와 메서드를 불러와 사용할 수 있습니다.

 

이번 시간에는 Static에 대해 알아봤습니다. :) 실습은 꼭~~ 해보세요!!.