코딩일기/자격증

[정보처리기사] static 메소드란? 객체 없이 호출하는 방법 | 정보처리기사 실기 기출문제

jhy_2023 2025. 1. 20. 12:44
728x90
반응형

2021 2회 정보처리기사 실기 기출문제

문제

클래스를 생성하지 않고 사용할 수 있는 메소드를 선언할 때 사용하는 명령어이다. 아래 JAVA소스코드의 괄호안에 들어갈 명령어가 무엇인지 쓰시오.

public class ClassA { 
   public static void main(String[] args){
      System.out.print(check(1)); 
   }
   
   public (_____1_____) String check(int num) { 
      return String.valueOf(num);
   }
}

정답

static

반응형

해설

📌 static 메소드

static은 클래스 레벨에서 메소드나 변수를 선언할 때 사용하는 키워드입니다.
static 메소드는 객체를 생성하지 않고도 바로 호출할 수 있다는 특징이 있습니다.

  • static 메소드 호출 방식
    • 형식: 클래스명.메소드명() 
    • 동일 클래스 내에서는 클래스명을 생략하고 메소드명만으로 호출할 수 있습니다.
728x90

📌 문제 코드 분석

Java 프로그램은 main 메소드부터 실행됩니다.
main 메소드는 static으로 선언되어 있어 프로그램 시작 시 객체 생성 없이 실행됩니다.
따라서 check 메소드 역시 static으로 선언해야 main 메소드에서 바로 호출할 수 있습니다.

문제 코드의 **check(1)**은 객체를 생성하지 않고 호출되므로, static 메소드여야 합니다.
이는 "클래스명.메소드명()" 형식에서 클래스명을 생략한 호출 방식의 예입니다.

  • static 메소드가 아닌 경우
    • 만약 check 메소드가 static이 아니라면, 객체를 생성한 후에 호출해야 합니다. 예를 들어, 아래와 같이 객체를 생성해야 사용할 수 있습니다: 하지만 문제에서는 객체 생성 없이 호출하고 있으므로, check 메소드는 반드시 static으로 선언되어야 합니다.
ClassA a = new ClassA();
System.out.print(a.check(1));

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형