ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] static 변수, static 메소드
    Java 2023. 8. 17. 17:39

    1. static 변수 

    • 동일 클래스 내의 모든 인스턴스가 공유
    • 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당, 프로그램이 종료될 때 해제되는 변수
    • 클래스 변수, 정적변수라고 함
    • 클래스 이름으로 직접  참조

    2. static 변수 사용 예제

    은행이나 식당 대기표는 모든 사람이 공유한다. 대기표 기계가 다르더라도 늦게 온 사람이 뒷 순번을 대기표를 받아야 한다. 이러한 경우 공통 변수가 필요함

    private static int wait Number = 1; 을 공통 변수로 사용 public void printwaitNumber() 메서드를 사용해 대기순번을 출력하고 대기순번을 올려주는 방법으로 클래스를 구성 main클래스에서 클래스를 선언하고 메서드를 사용하는 방법으로 static 변수는 같은 클래스를 사용하는 인스턴스가 공유하는 것을 확인할 수 있음.

    3. static() 메서드

    • 인스턴스 없이 클래스 이름으로 선언 가능 하다.
    • 인스턴스 변수 사용 불가능 

    4. static() 메서드 사용예제

    1번 예제)

    •  static메서드에 인스턴스 변수 사용 불가 확인

    일반메서드에 인스턴스 변수를 사용해도 오류가 나지 않는 반면 static() 메서드에 인스턴스 변수 사용 시 오류가 나는 것을 확인할 수 있다

     

    2번 예제)

    • static()메서드 인스턴스 없이 클래스 명으로 사용

    static() 메서드를 확인하기 위해 메서드 하나는 static() 메서드로 선언 다른 하나는 일반 메서드로 선언하였다.

    static()으로 선언한 메서드는 오류가 없는 반면 일반메서드는 인스턴스가 선언되지 않았기 때문에 오류가 발생하는 것을 확인할 수 있다.

    'Java' 카테고리의 다른 글

    [Java] 배열  (0) 2023.08.21
    [Java] 싱글톤 패턴  (0) 2023.08.18
    [Java] this  (0) 2023.08.17
    [Java] 접근 제어 지시자 와 캡슐화  (0) 2023.08.17
    [Java] 참조 자료형  (0) 2023.08.17
Designed by Tistory.