관리 메뉴

개발하는 동그리

[Java] 메서드 (Method) 란!? 본문

IT 정보/Java

[Java] 메서드 (Method) 란!?

개발하는 동그리 2022. 5. 10. 17:09
반응형

 method 란 !?

  • 클래스의 기능
  • 명령문의 집합
자바 제어자 / 반환 타입 / 메서드 명 (매개 변수)  ------------------ (메서드 시그니처)
          메서드 내용 -------------------(메서드 바디)

자바 제어자 : protect private public default  
반환타입 : 메서드 타입 ( void , int, double ,String 등등 ) 
메서드 명 : 메서드 이름
매개 변수 : 어떤 재료를 필요로 하는가


메서드 타입이 void 가 아닌 경우에는 반드시 return 문이 존재해야 한다. 
Return 문은 작업을 수행한 결과값이 메서드로 전달된다. 
* Return 문의 결과값은 반드시 변환타입과 일치하거나 자동형 변환이 가능해야한다. *  

 

메서드 호출방법 

메서드 이름 (매개변수1... 매개변수2 )  매개변수 없을 수 있음 

void method1 ();
int method2 ();
double method3 ();

 

메서드 호출시에 () 안에 넣어주는 입력 값 ( argument ) 인자라고 부르는데, 인자의 갯수와 순서는 반드시 메서드를 정의할 때 선언된 매개변수와 일치해야 한다. 

 

메서드 오버로딩

하나의 클래스 안에 같은 이름의 메서드를 여러개 정의하는 것을 의미
보통은 한개의 메서드에 하나의 기능을 구현하지만, 같은 이름의 메서드에다 여러 기능을 구현하기 때문에 오버로딩이라고 부른다. 

오버로딩이 성립하기 위한 조건 

  • 매개변수의 개수와 타입이 다르게 정의되어야 한다. 
  • 메서드의 이름이 동일해야 한다. 
  • 반환 타입이 다르면 오버로딩이 안된다. 

 

public class Overloading {
    public static void main(String[] args) {
        Movie funny = new Movie(); // 객체 생성
 
        funny.info();
        funny.info("원피스");
        funny.info(2.5);
    }
}

class Movie {
    public void info() { // 메서드 오버로딩. 같은 이름의 메서드 4개.
        System.out.println();
    }
    public void info(String name) {
        System.out.println("영화 제목은" + name + "입니다.");
    }

    public void info(double runningTime) {
        System.out.println("영화 상영시간은" + runningTime + "시간 입니다.");
    }
}

오버로딩의 장점 

  • 하나의 메서드로 여러 경우의 수를 해결할 수 있다 ex). System.out.printf 

 

 

 

반응형