본문 바로가기
Java

[Java] 함수(메소드) 정의해서 사용하기

by coding_su 2023. 1. 18.

📝함수(메소드) 정의해서 사용하기

이클립스에서 클래스를 새로 만들면 아래 코드처럼 화면을 띄워준다

public class FuncTest {

	public static void main(String[] args) {
	}

}

 

클래스 안에서 함수를 만들고 메인 안에서 함수를 가져와 사용한다

※ 함수를 만들때 앞의 데이터 타입은 return의 데이터 타입을 입력해주고 함수명 입력, 파라미터에는 입력 받을 데이터 타입을 입력해준다

 리턴값이 없으면 에러가 발생하니 리턴을 꼭 입력해준다

public class FuncTest {
	// 숫자 두개를 입력받으면 그 숫자를 더해서 리턴해주는 함수 만들기
	int add(int a, int b) {
		int total = a + b;
		return total;
	}
	public static void main(String[] args) {
		// 클래스를 호출
		FuncTest ft = new FuncTest();
        
		// 호출한 클래스의 함수를 호출해서 사용
		ft.add(3, 4);
		System.out.println(ft.add(3, 4));
        
		// 호출한 함수를 이용한 결과값을 변수에 저장하여 사용
		int result = ft.add(5, 10);
		System.out.println(result);
	}
}

 

ex)

public class FuncTest {
	// 과일 등급 매기는 함수 만들기
	String getGrade(int size) {
		if (size >= 16 && size <= 30) {
			return "A";
		} else if (size >= 8 && size <= 15) {
			return "B";
		} else if (size >= 1 && size <= 7) {
			return "C";
		} else {
			return "사이즈가 이상합니다";
		}
	}
	
	// 숫자 2개를 입력받으면 앞의 숫자에 뒤의 숫자 승을 하여 결과를 리턴하는 함수 만들기
	int getNumber(int a, int b) {
		int total = 1;
		for(int i = 0; i < b; i++) {
			total = total * a;
		}
		return total;
	}
	
	public static void main(String[] args) {
		// 클래스를 호출
		FuncTest ft = new FuncTest();
		
		ft.getGrade(30);
		System.out.println("등급은 : " + ft.getGrade(30));
		
		ft.getNumber(2, 3);
		System.out.println(ft.getNumber(2, 3));
	}

}

 

+ 리턴값이 없는 함수를 만들고 싶다면 void를 사용한다

public class FuncTest {
	// 숫자를 입력 받으면 해당 숫자만큼 화면에 "안녕하세요"를 출력하는 함수를 만들기
	void printHello(int count) {
		for( int i = 0; i < count; i++ ) {
			System.out.println("안녕하세요");

	public static void main(String[] args) {
		// 클래스를 호출
		FuncTest ft = new FuncTest();

		ft.printHello(3);
	}

}

댓글