Java static 키워드 - 클래스 메서드와 클래스 변수

코딩Java
읽는데 6분 소요
처음 쓰여진 날: 2026-02-17
마지막 수정일: 2026-02-17
조회수: 0

요약

Java static 키워드의 개념과 사용법을 알아봅니다. static 메서드와 static 변수의 특징, 인스턴스 없이 클래스명으로 호출하는 방법 등 정보처리기사 실기에 출제되는 핵심 개념을 정리합니다.

static 핵심 정리

개념설명예시
static 메서드인스턴스 없이 클래스명으로 호출 가능Gamja.check(1)
static 변수모든 인스턴스가 공유하는 변수static int count = 0;
인스턴스 메서드객체를 생성해야 호출 가능new Gamja().check(1)
main 메서드프로그램 시작점, 항상 staticpublic static void main(...)

static이란?

static은 "클래스에 소속된"이라는 의미의 키워드입니다. static이 붙은 메서드나 변수는 객체(인스턴스)를 만들지 않아도 사용할 수 있습니다.

일반 메서드 vs static 메서드

일반적으로 메서드를 호출하려면 객체를 먼저 생성해야 합니다.

java
코드 하이라이팅 중...

하지만 static을 붙이면 클래스명으로 바로 호출할 수 있습니다.

java
코드 하이라이팅 중...
호출 방식static 필요 여부예시
객체.메서드()불필요new Gamja().check(1)
클래스명.메서드()필요Gamja.check(1)


static 메서드 (클래스 메서드)

static이 붙은 메서드를 static 메서드 또는 클래스 메서드라고 합니다.

java
코드 하이라이팅 중...
java
코드 하이라이팅 중...

static 메서드의 제약

static 메서드 안에서는 인스턴스 변수와 인스턴스 메서드에 직접 접근할 수 없습니다. static 메서드는 객체 없이도 호출되므로, 객체에 소속된 멤버를 사용할 수 없기 때문입니다.

java
코드 하이라이팅 중...
static 메서드에서접근 가능 여부
static 변수가능
static 메서드가능
인스턴스 변수불가능
인스턴스 메서드불가능

static 변수 (클래스 변수)

static이 붙은 변수를 static 변수 또는 클래스 변수라고 합니다. 모든 인스턴스가 하나의 값을 공유합니다.

java
코드 하이라이팅 중...
java
코드 하이라이팅 중...
구분인스턴스 변수static 변수
키워드static 없음static 있음
소속각 객체마다 별도클래스에 하나만 존재
공유 여부객체마다 독립적모든 객체가 공유
접근 방법객체.변수클래스명.변수 또는 객체.변수

main 메서드가 static인 이유

Java 프로그램의 시작점인 main 메서드는 항상 static으로 선언됩니다.

java
코드 하이라이팅 중...

프로그램이 시작될 때 아직 아무 객체도 생성되지 않은 상태이기 때문입니다. 객체 없이도 호출할 수 있어야 하므로 main은 반드시 static이어야 합니다.

이것이 main 메서드 안에서 같은 클래스의 일반 메서드를 호출할 때 객체를 생성하거나 해당 메서드를 static으로 선언해야 하는 이유입니다.

java
코드 하이라이팅 중...

문제 풀이: 21년 2회 기출

이 문제는 빈칸에 들어갈 키워드를 찾는 문제입니다.

java
코드 하이라이팅 중...

풀이 과정

1단계: 호출 방식 확인

Gamja.check(1) - 클래스명(Gamja) 으로 직접 메서드를 호출하고 있습니다.

2단계: 키워드 판단

클래스명으로 직접 호출하려면 해당 메서드가 static이어야 합니다.

3단계: check 메서드 동작 확인

java
코드 하이라이팅 중...
  • num에 1이 전달됨
  • 1 >= 0 -> "positive" 반환
  • 출력: positive

static 메서드와 오버라이딩

static 메서드는 클래스에 소속되어 있기 때문에 오버라이딩이 적용되지 않습니다. 자식 클래스에서 같은 이름의 static 메서드를 정의해도 별개의 메서드입니다.

java
코드 하이라이팅 중...
메서드 타입호출 기준오버라이딩
인스턴스 메서드실제 객체 타입가능
static 메서드참조 변수 타입불가능

이 개념은 25년 2회 기출에서 출제되었습니다. 자세한 내용은 메서드 오버라이딩과 static 메서드 페이지를 참고하세요.


정보처리기사 실기 기출 문제