메소드(방법) - 함수
함수라는 개념이 java에서 메소드로 쓰임
함수 -> 일반 처리시에 사용되는 용어
메소드 -> 객체지향 환경에서는 메소드라고 용어 사용
1.메소드란
하나 또는 여러가지 기능을 묶어서 독립적으로 사용할 수 있는 프로그램 구성 단위. (모듈이라고도 합니다)
입력값(파라미터)을 넣어주면 해당 기능을 처리하고 출력값을 되돌려 준다(반환한다).
2. 메소드 특징
메소드 내부에 메소드 추가 작성 안됨
메소드는 특정 기능을 수행하기위해 잘라놓은 것
작성한 메소드는 다른 메소드 안에서 호출한다.
3. 메소드 종류
1. 파라미터와 반환값이 모두 존재하는 메소드
2. 파라미터는 존재하나 반환값이 없는 메소드 예) main메소드 : 입력값은 있으나 출력값은 없는 메소드
3. 파라미터는 없으나 반환값은 존재하는 메소드
4. 둘다 없는 메소드
4. 메소드 작성 형식
자료형 메소드이름(매개 변수1, 매개 변수 2, ...){ ... }
5. main 메소드
유일하게 이름이 지정되어있는 메소드
한 프로그램에 반드시 main 메소드가 존재해야하고 한 프로젝트당 반드시 하나만 존재해야함.
Call stack은 메소드를 호출하기 위한 계층, 그래서 call stack에는 항상 main 메소드가 들어있음
6. 4칙 연산 계산기
6-1. 파라미터가 있고 결과값이 있는 메소드 호출법
방법1)
int rs = add(1, 2);
System.out.println("1 + 2 = " + rs);
방법2)
System.out.println("3 + 4 = " + add(3, 4));
방법3)
int a1, a2;
a1 = scan.nextInt();
a2 = scan.nextInt();
System.out.println(a1 + " + " + a2 + " = " + add(a1, a2));
6-2. 파라미터 O, 반환값 X 메소드
sub(a1, a2);
6-3. 파라미터 X, 반환값 O 메소드
rs = mul();
6-4. 파라미터 X, 반환값 X 메소드
div();
7. 반환형
메소드 이름 앞에 붙이는 자료형은 반환되는(결과) 값의 자료형을 붙인다.
** 매개 변수 (함수값에 입력값이 들어오면 값을 받는 역할) : 파라미터를 저장하기 위한 변수
7-1. 파라미터 O, 반환값 O 메소드
두개의 값을 입력 받고 결과를 반환하는 메소드
이렇게 메소드 안에서 호출하게 되면 입력값을 받기위한 변수로는 사용 불가함
public static int add(int a, int b) {
int c, d;
int result = a + b;
return result;
}
7-2. 파라미터 O, 반환값 X 메소드
public static void sub(int a, int b) {//return이 없는 경우 반환형에 void 써줌
int result = a - b;
System.out.println(a + " - " + b + " = " + result);
}
7-3. 파라미터 X, 반환값 O 메소드
public static int mul() {
int a = scan.nextInt();
int b = scan.nextInt();
int result = a * b;
return result;
}
7-4. 파라미터 X, 반환값 X 메소드
public static void div() {
int a = scan.nextInt();
int b = scan.nextInt();
int result = a / b;
System.out.println(a + " / " + b + " = " + result);
}
'JAVA' 카테고리의 다른 글
JAVA(13) - 배열 자료 구조/최대/최소/SWAP/버블 정렬/선택 정렬 (0) | 2020.03.11 |
---|---|
JAVA(12) - 학생 관리 프로그램/버퍼/버퍼에 있는 엔터 제거 방법 (0) | 2020.03.11 |
JAVA(10) - 배열(Array)/선언 방식/공간 사용(대입)/성적 입력 프로그램/향상된 for문 (0) | 2020.03.09 |
JAVA(9) - 무한 반복문/반복문 - while문/에러 뜨는 이유 (0) | 2020.03.09 |
JAVA(8) - 달력/UP&DOWN/컴파일/디버깅 (0) | 2020.03.09 |