자바 학습 & 복습 10일차 - 메서드 선언부 & 구현부

728x90

메서드

코드들을 블록안에 묶어놓은 것

중복되는 코드들을 묶어서 이름을 선언해 코드를 간결화 시킨다.

 - 코드의 재사용 가능 + 이해하기 쉬워진다

class Card{
	public static void main(String[] args) {
		List list = new List();
		
		int[] n = {1,2,3,4,5};
		List.numArr(n);
		
		int[] n2 = {6,7,8,9};
		List.numArr(n2);

	}
}


class List {
	static void numArr(int[] number) {
		for(int i = 0; i<number.length; i++) {
			System.out.printf("%d ",number[i]);
		}
		System.out.println();
	}
}

출력문:
1 2 3 4 5 
6 7 8 9

메서드는 반드시 class 안에 들어가있어야 하고 함수는 독립적으로 선언 가능하다

각각의 메서드는 1개의 코드 조건문만 들어가있어야 효율이 올라가고 유지보수가 쉬워진다


메서드 구성

선언부 + 구현부

public class CardClss{

	public static void main(String[] args) {
//	선언부	
	test tt = new test();
	tt.Isyear(2020);
	tt.YeartoDays(1);
	}
}


class test{
//	구현부
	void Isyear(int year) { //여기서 year 은 지역변수
		if(year%100 == 0 & year%400 == 0) {
			System.out.println(true);
		}
		else {
			System.out.println(false);
		}
	}
	
	void YeartoDays(int year) { //다른 메소드이기 때문에 같은 변수 이름 사용 가능
		System.out.println(year * 365);
	}
}

/출력문
false
365

메서드 호출 후 실행흐름

삼향연산자 사용과 return문의 사용법 설명, return문은 값이 저장되지 않아 값 재사용이 불가능한 void값과는 다르게 출력값을 재사용할 때 사용된다.

public class CardClss{
	
	public static void main(String[] args) {
//	선언부	
	test tt = new test();
	System.out.println(tt.Isyear(2000));
	System.out.println(tt.number(3, 5));
	}
}

class test{
//	구현부
	boolean Isyear(int year) { //여기서 year 은 지역변수

		return (year%100 == 0 & year%400 == 0) ? true : false;
	}
	
//	return값을 쓰는 경우는 특정한 값을 저장하고 재사용을 원할 시에 사용된다
	int number(int x, int y) {
		return x > y ? x : y;
	}
}

출력문
true
5

 

메서드의 흐름

728x90