그림으로 배우는 자바,
파트1: 입문!
메소드
참고 사이트:
메소드, 일련의 코드 묶음!
메소드:
일련의 동작을 하나로 묶는 것
입력 값에 따른
반환 값이 있다
메소드 호출:
메소드 실행
값을 입력하고
그에 따른 결과를
반환받는 형식으로 동작한다.
메소드 정의:
메소드를 사용(호출)하려면
먼저 일련의 코드들이 미리 작성돼 있어야 함
Java API:
자바에서 미리 제공하는 코드들
- 메소드의 구성요소 (4) -
1) 호출코드와 일치해야함
메소드 이름: square
2) 입력변수 만들어주기
메소드 실행에 필요한 정보를
받아오는 변수
매개변수, 또는 파라미터 라고 함
해당 입력변수 n에는
메소드 호출 시
입력한 값인 정수 3 이 대입된다.
타입 또한,
입력한 값에 맞춰서 정의 해줘야 함
값 계산하고 반환할 때
return 을 써서 반환
최종적으로 반환 값의
타입을 적어준다
메소드 완성
단일 파라미터 메소드
단일 파라미터 메소드:
입력 변수가 하나만 있는 메소드
square 라는 메소드를 호출하는데
입력 값이 4
square(4)
한 개이다
입력 값 하나를 받기위한
입력 변수 또한
한 개
입력변수 = 파라미터
square 메소드가
입력 값 4를 받아서 호출되면
파라미터
즉, 입력변수 n 으로 대입이 된다
변수 생성 및 제곱 값 대입:
int result;
result = n * n;
4 * 4 실행되고
그 값이 result로 대입된다
대입된 result 값은 int 타입으로 return (반환) 됨
그러곤 메소드를 호출했던 해당 위치로 반환
따라서 최종적인 x 값은 16
3 이라는 값을 변수 n에 저장
cube 라는 메소드 호출
전달값을 n 으로 하고 있으므로
n 의 값 3이 전달 된다
파라미터로
파라미터를 만들어준다
int 타입으로
num 에는 3이 들어가고
(파라미터에 3이 들어가니까)
result 변수 만들어주고
num의 3제곱 넣어줌
그리고 int타입으로 return 돼서
해당 메소드 호출했던 곳으로 반환
x = 27
n = 3
다중 파라미터 메소드
- 다중 파라미터 메소드 -
times 라는 메소드를 호출하는데
입력 값이 2개
(3,4)
입력 값이 2개니까
입력 변수(파라미트) 또한 2개 이다
입력 값 - 입력 변수 개수 비례
각각 대입된 후
int 타입으로 반환
int a = 12
int b = 30
r하고 h가 double 타입이니까
parameter 에
2개의 double 타입이 존재해야 함
부피 반환
double 로
타입 반환
타입 일치 해야 한다
반환 값 타입도 일치하는지
신경써야함
-오류 해결하기-
square 이 double 인데
입력변수 타입이 int 이므로
square 실수 부분을 캐스팅 해준다
9 가 return 돼서
int 타입으로 반환됨
a = 9
cube의 2는
double 타입 n 으로 대입되지만
실수 타입이 아님에도 가능하다
왜냐하면 정수<실수 이기 때문
(자동변환 됨)
n = 2.0
즉, 8.0 이 반환된다
근데 int 타입 변수 b 에 넣고 있으니
캐스팅을 해준다
파라미터 / 반환 값이 없는 메소드
- 파라미터가 없는 메소드 -
소괄호 사이에
아무것도 입력 값이 존재하지 않음
입력 값이 존재하지 않으니
입력 변수 또한 존재하지 않음
파라미터만 없을 뿐,
기존 메소드와 동일하게 동작한다
10이 int 타입으로 반환돼서
a 변수에 저장
파라미터가 없는 대표적 예
Math.random()
- 1~10 사이의 정수 구하기 -
1) 10 사이의 정수를 구하는 거니까
10을 곱해준다
n 사이의 정수를 구하면
n 만큼 곱해줌
2) 정수형으로 캐스팅 함
소수점 이하 버려짐
3) 1을 더하면
1 부터 10사이의 정수가 만들어진다
메소드에는 항상 리턴값이
존재하는 건 아니다
return 오른 쪽에
값이 없는 걸 확인
= return 값이 없는 메소드
값이 없기 때문에
타입 또한 void 를 사용해준다
반환 값이 없기 때문에
return 키워드도 생략 가능
<메소드 중첩>
총 3개의 별표가 찍히게 된다
최종 결과로
별표 3개가 출력
***
결론: 메소드 내부에서 또다른
메소드를 호출 할 수 있다
'> 프로그래밍 언어 > JAVA' 카테고리의 다른 글
[그림으로 배우는 자바, part1]: 07 반복 (0) | 2023.02.20 |
---|---|
[그림으로 배우는 자바, part1]: 06 조건문 (0) | 2023.02.19 |
[18.1] IO 패키지 소개 (0) | 2023.02.01 |
[그림으로 배우는 자바, part1]: 04 타입과 형 변환 (0) | 2023.01.31 |
[그림으로 배우는 자바, part1]: 03 변수의 타입 그리고 연산자 (0) | 2023.01.29 |