메소드(method)
다른 프로그래밍 언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다.
자바는 이러한 클래스 내의 함수를 메소드라고 부른다.
※ 보통 함수와 메소드가 공존하는 언어(예:파이썬)에서는 두 개를 구분하여 말하기도 하지만 자바는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 자바에서 사용되는 함수의 정확한 명칭은 메소드
위 내용의 출처 : 점프투자바
역할
입력을 가지고 어떤 일을 수행한 다음에 결과물을 내어놓는 것, 이것이 메소드가 하는 일
구조
입력값 -> 메소드 -> 리턴값
메소드는 들어온 입력값을 가지고 어떤 처리를 하여 적절한 리턴값을 돌려주는 블랙박스와 같다.
기능부분에 생성자도 있지만 메소드도 있다
메인메소드( main method)
메인메소드는 모든 형태를 다 가지고 있다
public static void main(String[] args) {
[접근제한자] [예약어] 반환타입 메소드명(매개변수) {
- 생략가능 : 접근제한자 예약어 매개변수
- 접근 제한자
- 예약어
- 반환타입
- 매개변수
- 표현식 종류 4가지
접근제한자 : public private protected default
예약어 : static final 등
반환타입 :
A. void : 반환할 게 없음. 반환값이 없다고해서 안쓰면 생성자처럼 됨. 필히 쓸 것
B.기본자료형을 반환하는 메소드
ex) Integer.parseInt, chataAt(), Math.random(), String.equals(),String.length() 등등
C.배열을 반환 : Arrays.copyOf()
D.클래스를 반환 : Scanner.nextLine() .nextInt 등등
메소드명
매개변수
1) 접근 제한자
2) 예약어
3) 메소드 반환형
4)메소드 매개변수
1.() : 매개변수 없음 = 전달할 값이 없음
2.기본자료형
3.배열 : 얇은 복사(주소값)
4.클래스
5.가변인자 : 매개변수의 개수가 정해지지 않은 유동적 설정
ex)printf() - 공식API문서 printstream 확인가능
자료형... 변수명 // ...은 가변의미를 나타냄
※ 매개변수와 인수
public class Sample {
int sum(**int a, int b**) { // a, b 는 **매개변수**
return a+b;
}
public static void main(String[] args) {
Sample sample = new Sample();
int c = sample.sum(**3, 4**); // 3, 4는 **인수**
System.out.println(c); // 7 출력
}
}
5) 표현식 종류 4가지
1)반환타입 o 매개변수 o 메소드
2)반환타입 o 매개변수 x 메소드
3)반환타입 x 매개변수 o 메소드
4)반환타입 x 매개변수 x 메소드
메소드와 생성자 구분법
구분기준 : 반환 여부
public Book() {
} // 반환타입이 없으므로 생성자
반환타입 o : 메소드
반환타입 x : 생성자
'JAVA > 개념정리' 카테고리의 다른 글
[Java] 상속(Inheritance) (0) | 2022.08.07 |
---|---|
[Java] 객체 배열(Object Array) (0) | 2022.08.06 |
[Java] 접근제한자(Access Modifiers) & 예약어(reserved word) (0) | 2022.08.03 |
[Java] 객체(Object) & 클래스(Class) & 멤버변수의 종류 -- (0) | 2022.08.03 |
[Java] 배열(Array) : 얕은 복사(shallow copy) & 깊은 복사(deep copy) (0) | 2022.08.01 |