1. Method 란?
: #5 Class 에서 결과로 "20살 김영수가 밥을 먹습니다." 라는 출력 결과를 얻었다.
여기에서 '20살' , '김영수' 는 Person의 멤버변수(속성) 이고
'밥을 먹습니다.' 는 Person의 기능(method)이다.
: 속성과 기능을 합쳐서 '필드' 라고 한다.
: method 는 기능, 일하는 놈, 동사 라고 개념을 잡으면 편하다.
2. Method를 선언하기 전 !
1) 메서드 명을 선택한다.
: 메서드의 첫글자는 소문자이며 카멜표기법을 따른다.
: 되도록 '동사'로 설정한다.
: 해당 메서드의 기능을 잘 표현할 수 있어야 한다.
2) 매개변수를 생각한다.
: 매개변수로는 보통 우리가 변수에 사용하는 자료형 외에도
Random 이나 Scanner 와 같은 객체도 받을 수 있다.
3) 실행 할 문장과 리턴값을 생각한다.
: 무조건 리턴타입이 있는게 좋지는 않다.
오히려 리턴타입에 귀속되어 메서드가 자유롭지 못할 수 있음.
3. Method의 선언 형태 3가지
: 변수도 선언을 해야 사용할 수 있다.
: Class도 그렇고 Method도 그렇고 JAVA에서 구현하는 모든 것은 '선언'을 해야하는 것이다.
1) 리턴타입O, 매개변수O
리턴타입 + 메서드명 (매개변수 지정) { 실행 내용 및 return 리턴값; }
ex) int add(int a, int b){
int result = a+b;
return result;
}
==> 정수형 변수 a,b를 매개변수로 받고
정수형 변수 result에 a+b한 값을 담아서 호출한 쪽으로 정수 result를 되돌려준다.
---------------------------------------------------------------------------------------------------------
2) 리턴타입O, 매개변수X
리턴타입 + 메서드명 ( ) { 실행 내용 및 return 리턴값; }
ex) String msg() {
Scanner sc = new Scanner(System.in);
String msg = sc.nextLine();
return masg;
}
==> 매개 변수는 없고 String 타입의 msg에 문자열을 입력받아 리턴하는 메서드.
---------------------------------------------------------------------------------------------------------
3) 리턴타입X, 매개변수O
void + 메서드명 (매개변수 지정) { 실행 내용 }
ex) void add(int a, int b){
System.out.println(a+b);
}
==> 정수형 변수 a,b를 매개변수로 받고 a+b한 값을 바로 출력해준다.
(리턴타입 자리에 void를 쓰는 것은 리턴 타입이 없다는 뜻이다.)
---------------------------------------------------------------------------------------------------------
3) 리턴타입X, 매개변수X
void + 메서드명 (
) { 실행 내용 }
ex) void add( ){
System.out.println("덧셈 메서드라고 출력만 되는 메서드 입니다.");
}
==> 실제로 덧셈은 되지 않을 메서드가 된다;;ㅎ
4. Method 선언시 주의 사항
1) 매개변수가 없는 메서드는 외부에서 (main method등 호출한 쪽)
값을 전달 받을 수 없다.
2) 리턴값이 있는 메서드는 사용시 전체를 리턴'값'으로 보자.
(코드 이해시 정말 중요한 내용이다 ★★★★★)
3) 메서드 내부에 다른 메서드를 선언할 수 없다.
단, 사용은 가능하다.
4) 메서드 선언시 매개변수는 저장 공간이고,
사용시에는 값을 그 자리 순서에 맞게 넣어준다.
5) 재사용의 목적이 있기 때문에, 특정성을 부여하면 안된다.
(Person에 선언된 eat() method 인데 대뜸 "번데기탕과 소주를 마신다." 와 같은 결과를 리턴하면?
필자는 번데기탕을 못먹는다. 그렇다면 필자는 Person이 아닌가?
모든 Person, 모든 Car , 모든 Animal이 구현할 수 있는 공공적인 내용으로 한다.)
5 그렇다면 Method 를 사용하는 이유는?
1) 반복되는 기능들을 쉽게 관리하기 위해서.
2) 코드를 줄여 가독성을 높이기 위해서.
console 기반의 mini 프로젝트를 하다보면 (학생관리, 사원관리, 펫관리 등등)
분명 반복되는 기능들이 있다.
이 기능들을 효과적으로 메서드화 하고 옮겨다니며 썼을 때
코드의 가독성도 올라가고
코딩을 하는 개발자의 편의 역시 증진된다.
'국비과정 공부내용 > Java (11월24일~12월10일)' 카테고리의 다른 글
#7. 생성자와 오버로딩 (Constructor & OverLoading) (0) | 2021.12.12 |
---|---|
#5. 객체 지향과 클래스(Class) (0) | 2021.12.12 |
#4. 경우의 수 (0) | 2021.12.12 |
#3. 차례합 구하기 (0) | 2021.12.12 |
#2. Factorial 구하기 (0) | 2021.12.12 |