'
본문 바로가기
study/Programming

[JAVA 기초] 클래스 분리와 메소드 호출

by meowdule 2025. 4. 22.

 

1. 클래스 분리란?


📌 클래스 분리

자바에서는 기능별로 클래스를 분리해 관리하는 것이 일반적입니다.
예를 들어 계산 기능은 Calculator 클래스에, 실행 코드는 Application 클래스에 작성하는 식입니다.

💡 이렇게 하면 유지보수, 재사용, 가독성이 모두 좋아집니다.

 

 

 

 

 

 

 

 

2. 다른 클래스에 정의된 메소드 호출 방법

 

클래스가 분리되어 있다면, 해당 클래스를 import하거나 패키지명까지 포함한 클래스명으로 호출해야 합니다.


📌인스턴스 메소드 호출

  1. 클래스를 new로 생성
  2. 참조변수로 메소드 호출
Calculator calc = new Calculator();
int result = calc.minNumberOf(10, 20);

 

 


📌 static 메소드 호출

  1. 클래스명으로 직접 호출
int result = Calculator.maxNumberOf(10, 20);

 

 

 

 

 

 

 

3. static vs 인스턴스 메소드 차이

 

구분 static 메소드 인스턴스 메소드
호출 방식 클래스명.메소드() 참조변수.메소드()
객체 생성 필요 ❌ 없음 ✅ 있음
대표 용도 공통 기능 객체별 동작

💡 static 메소드는 공용 도구, 인스턴스 메소드는 객체가 주인인 기능이라고 생각하면 됩니다.

 

 

 

 

 

 

 

 

4. 예제


📁 Calculator.java (계산 기능 클래스)

public class Calculator {

    // 인스턴스 메소드
    public int minNumberOf(int a, int b) {
        return (a < b) ? a : b;
    }

    // static 메소드
    public static int maxNumberOf(int a, int b) {
        return (a > b) ? a : b;
    }
}

 


📁 Application.java (실행 클래스)

public class Application {

    public static void main(String[] args) {

        // 1. 인스턴스 메소드 호출
        Calculator calc = new Calculator();
        int min = calc.minNumberOf(30, 20);
        System.out.println("두 수 중 더 작은 값: " + min);

        // 2. static 메소드 호출
        int max = Calculator.maxNumberOf(30, 20);
        System.out.println("두 수 중 더 큰 값: " + max);
    }
}

 

두 수 중 더 작은 값: 20
두 수 중 더 큰 값: 30

 

 

 

 

 

 

5. 정리

 

항목 인스턴스 메소드 호출 static 메소드 호출
필요 동작 객체 생성 → 호출 클래스명으로 바로 호출
예시 calc.minNumberOf() Calculator.maxNumberOf()
주의 객체마다 따로 존재 공유되므로 신중하게 사용

⚠ static 메소드도 참조변수.메소드() 형태로 호출할 수 있지만, 권장되지 않습니다.

 

 

 

 

 

 

 

 

마무리
다음 게시글에서는 패키지(package)에 대해서 학습하겠습니다.