Day 개발 기록

Static과 Public 본문

JAVA

Static과 Public

데이25 2020. 6. 10. 21:21

쉽게 말해서 Static은 Class의 멤버이고 non-static 은 Object의 멤버이다.

1.메인 메서드는 항상 Static으로 표시되어야 하는 것이다.

2.static 메서드에서 같은 클래스의 non- static 멤버를 엑세스 할 수 없다.


public class Test {

     static int s = 0;
     int t = 0;

    public static void print1() {
      System.out.print(s);
    }

    public void print2() {

     // 이건 가능
      System.out.print(s);
      System.out.print(t);

    }

    public static void main(String \[\]args) {

     //가능  
        s = 100;

    //불가능
        t = 100;
        print2();

    //t와 print2()를 엑세스 하고싶다면
    //그 둘은 non static멤버이기 때문에 오브젝트를 만들어 줘야 한다.
    //이런식으로 호출을 해줘야 한다.

        Test test1 = new Test();
        test1.t = 100;
        test1.print2();

       }

}

 

메인이 속해있는 클래스의 객체를 한번더 생성해주고 나머지 non static 멤버들을 불러오도록 한다. 

메인함수의 객체를 따로 만들고 main을 제외한 실질적인 다른 함수들은 non static으로 만드는 연습을 하도록 하자. 

 

 

이 글은 권오흠 교수님 수업을 듣고 정리한 내용입니다!

출처 : JAVA로 배우는 자료구조