자바 예약어 final vs static

2025. 10. 23. 14:59·개발 공부/Java-Spring

🔹 final

**“더 이상 바꿀 수 없다”**는 의미

적용 대상의미
변수 (Variable) 한 번 값을 대입하면 변경 불가능 (상수처럼 동작)
메서드 (Method) 오버라이드(override) 불가능
클래스 (Class) 상속 불가능 (즉, 부모가 될 수 없
final int MAX_SPEED = 120;
MAX_SPEED = 200; // ❌ 오류 — final 변수는 변경 불가

final class Car {} 
class SportsCar extends Car {} // ❌ 오류 — final 클래스는 상속 불가

class Vehicle {
    final void move() {
        System.out.println("Vehicle moving");
    }
}
class Bike extends Vehicle {
    void move() {} // ❌ 오류 — final 메서드는 오버라이드 불가
}

 

static

**“객체가 아니라 클래스에 속한다”**는 의미

 

적용 대상 의미

변수 (Variable) 모든 객체가 공유하는 값 (클래스 변수)
메서드 (Method) 객체 생성 없이 클래스 이름으로 호출 가능
블록 (Block) 클래스 로딩 시 딱 한 번 실행
class Counter {
    static int count = 0; // 모든 인스턴스가 공유
    int id;

    Counter() {
        count++;
        id = count;
    }

    static void printCount() {
        System.out.println("총 객체 수: " + count);
    }
}

public class Main {
    public static void main(String[] args) {
        Counter c1 = new Counter();
        Counter c2 = new Counter();
        Counter.printCount(); // ✅ 클래스 이름으로 바로 호출
    }
}

 

 

키워드 핵심 의미 주로 쓰이는 곳

final “변경 불가능” 상수, 불변 메서드, 불변 클래스
static “공유, 전역적 속성” 클래스 변수, 유틸 메서드
static final “모든 객체가 공유하는 상수” 상수 선언 (public static final)

 

'개발 공부 > Java-Spring' 카테고리의 다른 글

객체 지향 프로그래밍(OOP)의 특징  (0) 2025.11.22
객체의 종류  (0) 2025.11.20
interface vs abstract class  (0) 2025.09.26
정적팩토리 메서드  (0) 2025.08.15
JVM 의 메모리 구조  (0) 2025.08.15
'개발 공부/Java-Spring' 카테고리의 다른 글
  • 객체 지향 프로그래밍(OOP)의 특징
  • 객체의 종류
  • interface vs abstract class
  • 정적팩토리 메서드
cookiboii
cookiboii
초보 개발자입니다.
  • cookiboii
    Just Do it
    cookiboii
  • 전체
    오늘
    어제
    • 분류 전체보기 (79)
      • 잡소리 (2)
      • vscode꾸미기 (1)
      • 회사공부 (0)
      • 면접복기 (5)
      • 개발취직관련 좋은 글귀 (12)
      • 개발 공부 (58)
        • 백준 (0)
        • web (3)
        • js&ts&react (4)
        • Java-Spring (18)
        • 개발책 리뷰 (0)
        • c++ (0)
        • git (0)
        • code up 문제 (5)
        • 네트워크 (5)
        • 자료구조&알고리즘 (2)
        • ci,cd (1)
        • 프로젝트 (9)
        • sql (4)
        • 컴퓨터구조 (1)
        • 운영체제 (5)
        • python (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

    • 네이버블로그
    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    프로그래밍
    ci #개발 #git
    springai #spring #java
    라이엇 #api #롤api
    js #제이쿼리 #비동기통신 #코딩 #프로그래밍
    롤 #리그오브레전드
    코딩
    자바 #Java #JPA #개발자 #개발 #초보
    자바
    js #예약어 #자바스크랩트
    js #web
    깃허브 #깃 #커밋
    Java
    JVM
    포켓몬 #vscode #vscode꾸미기 #개발
    사이드프로젝트 #토이프로젝트 #개발 #개발자
    개발
    코드업 #코딩문제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
cookiboii
자바 예약어 final vs static
상단으로

티스토리툴바