[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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바