[JAVA] static

2024. 3. 25. 19:02·JAVA

자바에서 static은 클래스 멤버를 정의할 때 사용되는 키워드이다. static 키워드가 사용된 변수나 메서드는 해당 클래스의 인스턴스와 관계없이 클래스 자체에 속한다. 즉, 클래스의 모든 인스턴스가 동일한 static 멤버를 공유한다.

1. 정적 변수 (Static Variables):

정적 변수는 클래스에 속하며, 클래스의 모든 인스턴스가 공유한다. 따라서, 객체를 생성하지 않고도 클래스 이름을 통해 접근할 수 있다.

public class Example {
    static int count = 0; // 정적 변수
    
    public static void main(String[] args) {
        Example.count++; // 정적 변수 접근
        System.out.println("Count: " + Example.count); // 출력: Count: 1
        
        Example obj1 = new Example();
        Example obj2 = new Example();
        
        obj1.count++;
        System.out.println("Count from obj1: " + obj1.count); // 출력: Count from obj1: 2
        System.out.println("Count from obj2: " + obj2.count); // 출력: Count from obj2: 2
    }
}

 

 

2. 정적 메서드 (Static Methods):

정적 메서드는 클래스 레벨에서 호출되며, 인스턴스를 생성하지 않고도 호출할 수 있다. 정적 메서드 내에서는 인스턴스 멤버에 직접 접근할 수 없다.

public class Example {
    static void display() { // 정적 메서드
        System.out.println("This is a static method.");
    }
    
    public static void main(String[] args) {
        Example.display(); // 정적 메서드 호출
    }
}

 

  • 정적 멤버는 클래스의 모든 인스턴스에 대해 동일한 값을 유지하며, 객체를 생성하지 않고도 접근할 수 있다.
  • 정적 메서드는 인스턴스 멤버에 직접 접근할 수 없다.
  • 주로 유틸리티 메서드나 상수를 정의할 때 사용된다.
  • 정적 멤버는 프로그램이 시작될 때 메모리에 할당되며, 프로그램이 종료될 때까지 유지된다.
저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] Abstract 예제  (0) 2024.03.26
[JAVA] Abstract  (0) 2024.03.26
[JAVA] Call By Value / Call By Reference  (0) 2024.03.25
[JAVA] 오버로딩(Overloading)과 오버라이드(Override)  (0) 2024.03.25
[JAVA] Class  (0) 2024.03.25
'JAVA' 카테고리의 다른 글
  • [JAVA] Abstract 예제
  • [JAVA] Abstract
  • [JAVA] Call By Value / Call By Reference
  • [JAVA] 오버로딩(Overloading)과 오버라이드(Override)
kwh_coding
kwh_coding
성장하는 괴물 성괴 김우형
  • kwh_coding
    코딩 일기
    kwh_coding
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • ERP Project
      • NAVER CLOUD Web DevOps
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • Notion
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    web
    SQLD
    Python
    해시 암호화
    javascript
    코딩테스트
    RDBMS
    gitbash
    html
    eGov
    brycpt
    js
    django
    Postman
    git
    annotation
    정보처리기사
    github
    Tomcat
    코딩
    node
    React
    Java
    spring
    코테
    jsp
    private network
    CORS
    AdSP
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kwh_coding
[JAVA] static
상단으로

티스토리툴바