티스토리 뷰
메소드(Method)는 코드를 재사용할 수 있게 해 준다는 면에서 큰 장점을 가지고 있다.
메소드의 정의와 호출

지금까지 계속 봐왔던 public static void main(String[] args) 이것이 바로 메소드다.
여기서 main 메소드는 규칙이다.
프로그래밍뿐만 아니라 많은 공학에서
약속의 영역과 이해의 영역이 있듯이 이 main메소드는 약속의 영역이라고 할 수 있다.
코드를 작성하면 자바는 main메소드에 작성한 코드를 실행하기 때문에
우리는 그 약속을 지켜야 하는 것이다.


이렇듯 메소드는 객체지향의 핵심 개념이라고 할 수 있을 정도로 중요하다.
입력과 출력

위의 코드와 아래 코드의 차이점이 무엇일까?
바로 중괄호 안에 limit이라는 변수의 값을 지정했는지,
아니면 정의한 메소드의 괄호 안에 직접 변수를 넣어 값을 받고 있는지이다.
위와 같이 코드를 사용해도 값은 아래의 코드와 똑같이 나온다.

그렇다면 왜 정의한 메소드의 괄호 안에 직접 변수를 넣었을까?
기본적으로 프로그래밍은 가변적인 것과 고정적인 것을 구분해야 하기 때문이다.
정의하는 메소드를 고정적인 것으로 만들어 수정을 할 필요가 없게 만들기 위해서는
int limit = 5;라는 계속해서 값을 바꿔줘야 하는 가변적인 것을
이 정의된 메소드에서 제거할 필요가 있다.
int limit에서 limit은 입력값을 수용하기 위한 변수가 정의되어 있는 부분인 매개변수(parameter)이고,
numbering(5);에서 5는 매개변수에 값을 넣어 줄 때의 값인 인자(argument)이다.
둘의 개념은 혼용해서 쓰지만 개념을 구분할 필요는 있다.

이렇게 인자를 복수로도 사용할 수 있다.
return


굳이 복잡하게 데이터를 리턴하는 이유는 무엇일까?
그 이유는 부품으로써의 가치를 높이기 위해서라고 할 수 있다고 한다.
화면에 출력하는 것뿐만 아니라 메일로도 보내고, 파일에 기록도 해야 한다면
화면에 출력하는 코드가 메소드안에 들어있는 것이 부품으로서의 가치를 떨어뜨릴 수 있다.
그러므로 메소드 자체적으로 기능을 높이기 위해 리턴을 쓰는 것이다.
리턴은 값을 반환하는 동작을 하면서 메소드를 중단시키는 역할도 한다.

이렇게 배열을 사용함으로써 리턴 값을 여러 개로 만들 수 있다.
이번 학습에서는 전에 궁금했었던 객체지향, 매개변수, 인자 등의 단어들이 많이 나왔고
void, main과 같이 새롭게 의미를 알게 된 것도 있다.
return이라는 것이 두리뭉실하게 이해 된 것 같지만, 복습을 통해 의미를 더 뚜렷하게 알기 위해 노력해야겠다.
'SEB_BE_41' 카테고리의 다른 글
| JAVA - 객체 지향 프로그래밍 (0) | 2022.07.22 |
|---|---|
| JAVA - 입력과 출력 (0) | 2022.07.22 |
| JAVA - 배열 (0) | 2022.07.19 |
| JAVA - 반복문 (0) | 2022.07.16 |
| JAVA - 논리 연산자 (0) | 2022.07.14 |