본문 바로가기

Java/본격 Java 클래스

[Java] 메소드 기초

메소드(method)
 - 클래스가 가지는 기능을 의미하는 것으로 거의 대부분의 작업이 이루어지는 곳입니다.
 - 선언법
  접근제어지시자 [static] 리턴타입 메소드명([매개변수(들)]){ 메소드의 기능 구현; }
   접근제어 지시자 : 정의된 메소드에 접근할 수 있는 권한을 부여하는 키워드
    - public, protected, default, private 중 택일
   static : 클래스 멤버인지 여부를 지정하는 키워드
    - main()메소드가 있는 클래스에서는 무조건 static을 붙여야 한다.
   리턴타입 : 메소드 실행 결과를 리턴할 때 지정하는 자료형(리턴하지 않아도 됩니다.)
    - void : 리턴값이 없는 메소드를 의미
- 모든 자료형 : 기본자료형 뿐만 아니라 객체(클래스)도 입력할 수 있습니다.
   매개변수 : 메소드 실행시 필요한 각종 데이터들을 받아오는 것.
    - 인수, 파라미터(parameter), 아규먼트(argument)라고도 합니다.
- 매개변수는 없을 수도, 여러 개일 수도 있습니다.

main()메소드
 - 프로그램의 시작과 끝을 의미하는 메소드로 프로그램당 최소 한 개는 존재해야 한다.
 - 프로그램 실행시 JVM에서 자동으로 호출하여 프로그램이 시작되도록 합니다.

.

.

예제 1

class MethodEx 
{
	public static void main(String[] args) 
	{
		System.out.println("프로그램의 시작");
		testMethod(15);
		testMethod(23);

		testMethod2(33, 175);

		System.out.println("프로그램의 종료");
	}

	public static void testMethod(int age){
		System.out.println("제 나이는 " + age + "세 입니다.");
	}

	public static void testMethod2(int age, int height){
		System.out.println("제 나이는 " + age + "세 이고, ");
		System.out.println("제 키는 " + height + "cm 입니다." );
	}
}

.

.

예제 2

class MethodEx2 
{
	public static void main(String[] args) 
	{
		// 두 개의 정수를 입력받아 사칙연산 결과를 출력하는 메소드 제작
		// 나눗셈은 몫과 나머지를 따로 출력
		System.out.println("프로그램 시작");
		System.out.println();

		simpleOp(5, 3);
		/*
		덧셈 결과 : 8
		뺄셈 결과 : 2
		곱셈 결과 : 15
		나눗셈 결과 : 1
		나머지 결과 : 2
		*/
		System.out.println();

		// 두개의 정수를 입력받아 두 정수의 차를 출력
		// 두 정수의 순서에 상관없이 차는 양수로 출력되어야 함

		simpleOp2(10, 5);
		simpleOp2(10, 25);
		System.out.println();
		System.out.println("프로그램 종료");

	}

	public static void simpleOp(int a, int b){
		System.out.println("덧셈 결과 : " + (a + b));
		System.out.println("뺄셈 결과 : " + (a - b));
		System.out.println("곱셈 결과 : " + (a * b));
		System.out.println("나눗셈 결과 : " + (a / b));
		System.out.println("나머지 결과 : " + (a % b));
	}

	public static void simpleOp2(int a, int b){
		int result;
		if (a >= b){
			result = a - b;
		}
		else{
			result = b - a;
		}
		System.out.println("두수의 차 : " + result);
	}
}
728x90
반응형