9-1) 메서드란?
① 문장들을 묶어놓은 것. 작업 단위로 문장들을 묶어서 이름 붙인 것.
어렵게 생각하지 마시고 이게 전부예요.
위 그림에서 위쪽 코드는 메서드를 필요할 때마다 매번 호출합니다.
그러면 너무 귀찮고 코드는 길어지겠죠?
그래서 아래 그림처럼 메서드를 한 번만 쓰고 필요할 때마다 메서드 이름으로만 호출하면 훨씬 간결한 코드가 됩니다.
② 값(입력)을 받아서 처리하고, 결과를 반환(출력)
수학 시간에 봤던 함수와 비슷합니다. 함수에서 '함'자가 '박스'라는 뜻을 담고 있습니다.
객체지향에서 메서드는 함수를 지칭하는 용어이기도 합니다. 메서드≒함수
차이가 있다면, 메서드는 꼭 클래스 안에 위치해야 합니다.
하지만 함수는 클래스에 독립적입니다. 따로 존재할 수 있습니다.
그냥... 근본적으로 같다고 보면 됩니다 허허..
저기 박스를 '블랙박스'라고 불리기도 합니다.
안에서 무슨 일이 일어나는지 알 필요가 없기 때문입니다.
알고 싶지도 않고..ㅎ
9-2) 메서드의 장점
-코드의 중복을 줄일 수 있다.
:같은 코드를 여러 번 쓸 필요가 없습니다.
-코드의 관리가 쉽다.
:여러 코드를 한 코드로 쓰니깐요. 혹여나 코드가 바뀌면 한 코드만 수정하면 되니까 관리가 용이합니다.
-코드를 재사용할 수 있다.
:한 코드를 필요할 때마다 가져와 쓸 수 있으니까요.
-코드가 간결해서 이해하기 쉬워진다.
:코드 길이가 확 줄어드니 간결해집니다.
9-3) 메서드 작성
-반복적으로 수행되는 여러 문장을 메서드로 작성
-하나의 메서드는 한 가지 기능만 수행하도록 작성
9-4) 메서드 = 선언부 + 구현부
반환타입, 메서드 이름, 매개변수들을 '선언부'라 하고
메서드 호출 시 수행될 코드는 '구현부'라 합니다.
만약 반환타입이 없을 경우 void라고 적습니다.
9-5) 메서드의 구현부
지역변수(lv): 메서드 내에 선언된 변수
int add(int x, int y){
int result = x + y;
return result;
}
QUIZ: 지역변수를 찾아보세요.
정답: x, y, result
int multiply(int x, int y){
int result = x * y;
return result;
}
QUIZ: 지역변수를 찾아보세요.
정답: x, y, result
QUIZ: 두 개의 코드에서 변수 x, y, result는 같은 변수일까요?
정답: 아니요. 지역변수는 메서드 영역에서만 유효하기 때문에 서로 변수 이름이 같더라도 다른 변수입니다.
*유튜브 남궁성 선생님의 `자바의 정석`을 참고하여 만들었습니다*
*자세히 보고 싶은 분들은 유튜브 가서 보시면 되고요! 저는 개인적으로 공부하는 게 목적입니다*
'back-end > JAVA' 카테고리의 다른 글
11) 객체지향-return문 (0) | 2021.05.18 |
---|---|
10) 객체지향-메서드의 호출(call), 메서드의 실행흐름 (0) | 2021.05.12 |
8) 객체지향-클래스 변수와 인스턴스 변수의 차이점 (0) | 2021.05.11 |
7)객체지향-선언 위치에 따른 변수의 종류 (0) | 2021.05.11 |
6)객체지향-클래스의 정의 (0) | 2021.05.11 |