Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

지극히 개인적인 개발블로그

static란 무엇일까? 본문

CS/면접 대비

static란 무엇일까?

코드분쇄기 2019. 9. 24. 18:16

변수나 메소드 앞에 static이 붙는걸 많이 봤다. 무슨 의미이고 어떨때 사용될까?

 

public class HousePark  {
    static String lastname = "박";

    public static void main(String[] args) {
        HousePark pey = new HousePark();
        HousePark pes = new HousePark();
    }
}

이와같이 값이 변하지 않을 변수에 static을 사용하면 메모리 사용에 이점을 볼 수 있다. 

다만 변수의 값이 변경되지 않기를 원한다면 static보다는 final을 사용하는것이 더 좋다.

static을 사용하는 또 한가지 이유로 공유의 개념을 들 수 있다. static 으로 설정하면 같은 곳의 메모리 주소만을 바라보기 때문에 static 변수의 값을 공유하게 되는 것이다.

 

 

static method

Static Method는 객체의 생성 없이 호출이 가능하며, 객체에서는 호출이 불가능하다.

public class Test {
    private String name1 = "MangKyu";
    private static String name2 = "MangKyu";
      
    public static void printName(){
       // System.out.println(name1); 불가능한 호출
       System.out.println(name2);
    }
}

예제에서 보다시피 static method에서는 static이 선언되지 않은 변수의 접근이 불가능하다.