반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 제이쿼리
  • 객체 안의 함수
  • js 패스워드 변경
  • ScrollEffectJs
  • 가위바위보js
  • 제이쿼리 비밀번호
  • 청춘고양이
  • 제이쿼리 버튼클릭시 색 변경
  • js 비밀번호
  • 스크롤js
  • 자바db연동
  • js 로또 번호
  • 초보개발
  • 자바
  • spring 기본설정
  • css
  • 중복 제거 로또
  • 제이쿼리 패스워드 변경
  • 쉬프트 연산
  • js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

JAVA

static, final, static final

2024. 6. 28. 15:58
반응형

1. static 키워드

static 키워드는 클래스 멤버를 지정할 때 사용됩니다. 클래스가 로드될 때 메모리에 한 번 할당되며, 모든 인스턴스가 공유하는 변수나 메서드에 사용됩니다. 이는 다음과 같은 특성을 가집니다:

  • 클래스 변수: 클래스의 모든 인스턴스들이 공유하는 변수로, 클래스가 로드될 때 초기화됩니다.
  • 스태틱 메서드: 인스턴스 생성 없이도 호출할 수 있는 메서드입니다.
public class MyClass {
    public static int staticVariable = 10;
    public static void staticMethod() {
        System.out.println("This is a static method.");
    }
}

2. final 키워드

final 키워드는 변수, 메서드, 클래스에 적용될 수 있습니다. 이 키워드를 사용하면 해당 요소가 초기화 이후 변경될 수 없습니다.

  • 변수: 변수가 상수가 되어 초기화 이후 값이 변경되지 않습니다.
  • 메서드: 메서드가 오버라이드될 수 없으며, 하위 클래스에서 변경할 수 없습니다.
  • 클래스: 클래스가 상속될 수 없으며, final 클래스의 메서드 역시 오버라이드될 수 없습니다.
public class MyConstants {
    public static final double PI = 3.14159;
    public static final String APP_NAME = "MyApp";
    public static final int MAX_COUNT;

    static {
        MAX_COUNT = 100;
    }
}

3. static final 키워드

static final 키워드는 상수를 정의할 때 사용됩니다. 이는 한 번 할당된 후 변경되지 않는 값으로, 주로 상수를 정의하는 데 활용됩니다. 클래스가 로드될 때 초기화되며, 해당 클래스의 모든 인스턴스들이 공유합니다.

public class Configuration {
    public static final String DATABASE_URL = "jdbc:mysql://localhost:3306/mydatabase";
    public static final int MAX_CONNECTIONS = 10;
    public static final String VERSION;

    static {
        VERSION = "1.0.0";
    }
}

4. static final 사용 사례

  • 상수 정의: 프로그램 내에서 변경되지 않는 값을 정의할 때 사용됩니다.
  • 설정 값: 설정 파일 경로, 데이터베이스 URL 등 프로그램 구성 요소에 대한 상수를 정의할 때 유용합니다.
  • 플래그 값: 특정 조건을 나타내는 상수를 정의할 때 활용됩니다.

5. 주의할 점

  • 명명 규칙: static final 상수는 대문자와 언더스코어(_)를 사용하여 명명해야 합니다. 예를 들어 MAX_CONNECTIONS, DATABASE_URL 등이 좋은 예시입니다.
  • 멀티스레드 환경: static final 상수는 변경되지 않는 값이므로 스레드 안전성을 고려할 필요가 없습니다.
반응형
저작자표시 변경금지 (새창열림)

'JAVA' 카테고리의 다른 글

Java에서의 열거형(Enum)에 대해 알아보자  (0) 2024.07.02
퍼사드 패턴  (0) 2024.06.28
조건문에서 if만 사용할까? else if를 사용할까?  (0) 2024.06.27
Java의 Wrapper 클래스: 기본 자료형을 객체로 다루는 방법  (0) 2024.06.25
Java의 Objects 클래스: 유용한 유틸리티 메서드  (0) 2024.06.25
    'JAVA' 카테고리의 다른 글
    • Java에서의 열거형(Enum)에 대해 알아보자
    • 퍼사드 패턴
    • 조건문에서 if만 사용할까? else if를 사용할까?
    • Java의 Wrapper 클래스: 기본 자료형을 객체로 다루는 방법
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바