본문 바로가기

JAVA/Information

[JAVA] 자바의 메소드(Method)란? 오버로딩(Overloading)이란?

 

 

 

 

 

 🐼메소드란? 

메소드는 객체가 수행할 동작이라고 생각하시면 쉬워요.

다른 프로그램 언어에서는 '함수'라고도 부릅니다.

 

 

 메소드 선언 

//리턴타입: 메소드가 리턴하는 값의 타입 표시
//매개변수: 메소드가 실행할 때 필요한 매개값을 전달받기 위한 변수

리턴타입 메소드명 (매개변수, ...) { //선언부

		실행할 코드를 작성하는 곳   //실행블록
                  .
                  .

}

 

1. 리턴 타입

리턴 타입은 메소드가 실행한 후에 호출하는 곳으로 전달하는 결과값의 타입을 말합니다.

리턴값이 없는 메소드는 void로 선언해주어야 합니다.

리턴값이 있는 메소드는 반드시 리턴값을 지정해 선언해주어야 합니다.

//리턴값이 없는 메소드 선언
void onButton() { ... }

//리턴값이 있는 메소드 선언
int offButton(int a, int b) {return a,b}

 

2. 메소드명

메소드명은 대문자로 시작하면 안됩니다. 첫 문자를 소문자로 시작해야 하고, 캐멀 스타일로 작성해줍니다.

void runPeople() { ... }
String getNum(String i) { ... }

 

3. 매개변수

매개변수는 메소드를 호출할 때 매개값을 받기 위해 사용됩니다.

전달할 매개값이 없으면 빈괄호로 생략할 수 있습니다.

double myPhone(int a, int b) { ... } //두개의 매개변수
int myPhone() { ... } //생략한 매개변수

📌메소드는 객체가 존재하지 않으면 호출할 수 없다는 점도 있으니 유의하세요!

 

 

 

 메소드 호출 

public class Method {
	
    //생성자
	Method(){
	}
    
    //메소드
	void phoneOn(String a) {
		System.out.println(a+" Phone On");
	}
	void phonOff(String a) {
		System.out.println(a+" Phone Off");
	}

	public static void main(String[] args) {
		
        //호출
		Method method = new Method();
		
		String name = "huiyeon";
		method.phoneOn(name);
		method.phonOff(name);
		
		
	}

}

 

 

 메소드 오버로딩 

- 메소드 오버로딩은 메소드 이름은 같으나 매개변수의 타입, 개수, 순서가

다른 메소드를 여러개 선언하는 것을 말합니다.

class Method {
	int method(int a, int b) {
    	int result = a+b;
        return result;
    } 
    String method(String a, String b) {
    	String result = a+b;
    	return result;
    }
    
    public static void main(String[] args) {
    	Method mth = new Method();
        System.out.println(mth.method(1,2));
        System.out.println(mth.method("1","2"));
    
    }
}
//출력
-> 3 //int 타입
-> 12 //String 타입

 

 

참조

이것이 자바다(개정판)

반응형