0. 복습
배열
: 하나의 타입으로 된 값만 저장할 수 있는 저장 공간의 나열(하나의 타입으로 된 여러값을 저장할 수 있다)
1) 배열의 선언
자료형[] 배열명 = {값1, ...};
자료형[] 배열명 = new 자료형 [칸수];
** new : Heap 메모리에 할당, 저장공간의 시작주소(참조값)를 가져옴
자료형[] 배열명 = null;
2) index
: 배열을 생성할 때 각각의 저장공간에 자동으로 부여되는 고유번호
0부터 순차적으로 증가하면서 부여됨
배열명[index]도 하나의 저장공간이므로 변수나 값처럼 사용 가능
1. 메서드
1) 함수
- 어떠한 기능을 하는 것
- 함수명 뒤에 ()가 있다
2) 메서드
- 함수와 같이 어떠한 기능을 하는 것
- java에서 모든 함수는 클래스 내부에 만들어지므로 메소드라고 한다
3) 함수와 메서드
- 클래스 밖에서 선언되면 함수라고 한다
- 클래스 내부에 있는 함수는 메서드라고 부른다
- 자바에서는 모든 함수가 클래스 내부에서 선언되기 때문에 메서드만 존재
매개변수
f(x) = x + 2
기능
f(x) => 3
인수 반환값(리턴값)
4) 메서드의 선언(정의)
리턴타입 메서드명(자료형 매개변수, ...){
실행할 문장;
return 반환값(리턴값);
}
- 리턴타입 : 반환할 값이 있다면 반환하는 값의 자료형을 작성한다.
없다면 void를 작성한다
- 메서드명 : 사용자 임의로 작성. 동사로 작성한다
- 매개변수(parameter) : 외부에서 전달받을 값이 있다면, 자료형과 순서에 맞게 선언해준다(자료형이 반드시 필요)
생략이 가능하다(단, 생략하면 외부에서 값을 받을 수 없다)
- 실행할 문장 : 메서드의 기능을 구현하는 코드를 작성한다
- return : 생략이 가능하며 return이 실행되면 메서드가 종료된다
리턴값이 있다면 메서드를 사용(호출)한 부분을 통채로 리턴값으로 본다
=> 메서드 호출 부분을 하나의 값처럼 사용할 수 있다
5) 메서드의 정의와 호출
- 메서드를 정의할 때는 {}중괄호가 있고 반드시 main 메서드 밖에서 정의한다
- 메서드를 호출할 때는 {}중괄호가 없고 main 메서드 안에서 사용 가능하다
6) 메서드 호출(사용)
- 메서드를 정의했어도 호출하지 않으면 아무 소용없다
- 메서드를 사용하기 위해서는 메서드를 호출해야한다
메서드명(인수, ...);
7) 메서드의 인수와 매개변수
- 인수(인자) : 메서드에 전달할 실제 값을 의미, argument
- 매개변수 : 메서드에서 인수를 받아서 저장하는 변수를 의미, parameter
- 메서드의 인수와 매개변수는 반드시 타입과 일치하거나 자동 형변환이 가능한 타입이어야 한다
8) return(리턴, 반환값)
- 메서드를 호출할 때 반환 받아서 사용할 값이 있다면 return을 작성
- 메서드의 종료를 의미한다
- 리턴되는 값은 반드시 리턴타입과 일치하거나 자동 형변환이 가능한 타입이어야 한다
(1) return을 사용할 때
- 메서드 내에서 모든 작업이 완료되지 않았을 때
- 호출하는 부분에서 해야할 작업이 남았을 때
(2) return을 사용하지 않을 때
2. 오버로딩(overloading)
- 같은 클래스 내에서 메소드를 같은 이름으로 정의할 수 있다
- 매개변수의 타입이나 개수가 달라야한다
- 반환타입은 오버로딩에 영향을 주지 않는다
+) 다형성
: 하나의 것이 여러 형태를 가질 수 있는 성질
다형성을 구현하는 대표적인 방법
(1) 메서드의 오버로딩
(2) 메서드의 오버라이딩
(3) 참조변수의 다형성