Method : Function 이라고도 부르며, 간헐적으로 반복되는 코드들을 별도로 정의(작성)해놓고, 정해놓은 이름으로 그 코드들을 이름 불러서 실행하는 단위 실행코드들입니다. Java에서는 Function 이란 말보다 Method 라는 표현을 주로 사용합니다.
특징
1. 명령들이 모여서 기능을 정의하는 단위
2. 일련의 실행코드(명령)들을 묶어서 재활용하고자하는 목적 제 1목적
3. 메서드는 각 메서드마다 고유한 이름이 있습니다.
4. 메서드가 이름이 불리어져서 실행되라는 명령(Call-호출)을 받으면, 그 메서드의 몸체를 이루는 코드들이 실행되는 형식입니다.
5. 자바의 메서드는 이름 옆에 항상 괄호()를 달고 나옵니다.
6. 메서드의 생성 : 반드시 클래스의 내부에서만 만들 수 있습니다.
7. main 메서드 위쪽 또는 아래쪽에 만들수 있습니다.
메서드를 사용하는 두번째 목적
명령들의 단순 실행이 아닌 소정의 값을 연산하기 위한 명령들의 반복실행
예 : 사각형의 넓이를 계산하는 메서드, 삼각형의 넓이를 계산하는 메서드
예 : 성적표를 양식에 맞게 출력하는 메서드, 달력을 양식에 맞게 출력하는 메서드
두번째 목적에 필요한 메서드를 그들이 실행되기 위해, 필요한 값들이 있습니다.
사각형의 넓이는 밑변의 길이와 높이가 필요
성적표는 국어, 영어, 수학, 총점, 평균이 필요
달력은 년과 월이 필요
두번째 목적으로 함수를 만들려면 필요한 값들을 함수에 전달하고 실행되게 해야 합니다.
호출한 곳에서 넣어주는 값을 전달인수라고 부르고,
메서드에서 전달된 값을 받아주는 변수를 매개변수라고 부릅니다.
매개 변수의 선언
public static void 메서드 이름( 자료형 매개변수이름, 자료형 매개변수이름 ...){
}
괄호안에 변수를 선언하고 쓰는 형식, 매개변수 또한 필요한 갯수만큼 선언해서 사용할 수 있습니다.
매개변수 : 메서드 호출시 메서드가 필요로하는 데이터를 전달해줄 수 있는 매개역할의 변수
메서드 호출 시 괄호안에 넣어주는 데이터 : 전달인수
메서드의 몸체에서 괄호안에 위치하면 전달된 값을 받아주는 변수 : 매개변수
호출한 지역(main)에서의 변수와 호출된 메서드의 매개변수 이름은 같아도 무방합니다.
이름이 같은 두 변수는 서로 다른 변수이므로 각자의 지역에서 일련의 변화를 주어도 서로의 값에 아무런 영향을 주지 않습니다.
이 때도 전달인수로 변수를 지정했다면 이는 변수가 전달되는 것이 아니라
변수에 저장된 값의 복사본이 전달되므로 원본은 아무런 영향을 받지 않습니다.
이렇게 값에 의한 호출을 Call By Value 라고 합니다. Call By Value!!중요합니당.
전달인수로 참조값을 전달해서 하나의 배열을 두 개의 메서드가 공유해서 사용
Call by reference 라고 부릅니다.
이렇게 전달되는 배열은 배열의 요소가 몇개여도 갯수에 상관없이 전달이 가능합니다.
Call by reference 형식 예
public static void prnMax2( int[] c){...}
Call by value 형식 예
public static void prnMax1(int a, int b, int c, int d){...}
문제 풀어보기--------------------------------------
주어진 배열의 오름차순(sortAsc), 내림차순(sortDesc) 정렬
합계 평균까지 구해서 사용자로부터 입력을 받아서 다음 배열의 네가지 방식으로 출력하기