- Method(메서드)
-
public class Student { public int modifyStudent() { return 0; } }
- 생성자와 비슷하게 생겼지만 리턴 타입이 있고 클래스 이름과 동일한 것이 아닌 작동에 대해 작명을 해줘야 한다
- 메서드란 어떠한 동작을 한다고 생각을 해보면 좋을듯 하다.
- 메서드는 재료를 받아서 내부적으로 어떠한 동작을 하고 결과물을 반환해준다
- 위의 그림처럼 쌀, 밥솥, 물이라는 재료를 밥 짓기라는 메서드에 넣어주면 쌀밥이 나온다. 여기서 쌀, 밥솥, 물은 매개변수이고, 밥 짓기는 매소드 내부에서 쌀, 밥솥, 물이라는 매개변수를 사용해서 쌀밥이라는 결과물을 내기 위한 동작을 실행하는 부분이며, 쌀밥은 리턴 값이 된며 리턴 타입은 밥이 되는 것이다.
- 리턴 값과 리턴타입의 관계를 보면 쌀밥은 밥이라는 큰 카테고리 안에 들어갈 수 있다. 매개변수로 쌀이 아니라 보리를 넣는다면 보리밥이 나오지만 밥이라는 큰 카테고리는 같다.
-
- 매개변수와 리턴값
- 경우의 수는 4가지가 있다
- 매개변수가 있고 리턴 값이 없는 경우
- 매개변수가 있고 리턴 값이 있는 경우
- 매개변수가 없고 리턴 값이 없는 경우
- 매개변수가 없고 리턴 값이 없는 경우
- 이렇게 4가지의 경우가 있다
- 리턴 값에는 여러 가지가 올 수 있다. 너무 다양하고 많지만 몇 가지 예시를 들자면
- void : 리턴 값이 없는 경우 사용된다
- int, double, char, byte, boolean 등 기본 타입 : 기본 타입의 값을 리턴해줄 수 있다
- String, List, 객체 등 참조 타입 : 객체, 클래스 등 모든 참조 타입으로도 반환이 가능하다
- 매개변수를 받아와야 하는데 메서드를 작성하는 시점에 몇 개의 매개변수를 받아와야 할지 모르는 경우 혹은 계속 개수의 변경이 있어야 한다면 배열로 받아올 수도 있다
- 경우의 수는 4가지가 있다
- 메서드 오버 로딩
- 오버 로딩 방법은 생성자와 같으며 리턴 타입의 변경은 의미가 없다
- 메서드의 호출
- 해당 클래스를 통해 인스턴스를 생성해주고 생성된 인스턴스를 통해서 메서드를 호출해준다
-
public class StudentTest { public static void main(String[] args) { Student s1 = new Student("홍길동", 90, 89); int s1Score = s1.getTotalScore(); } } class Student { public String name; public int korScore; public int engScore; public Student(String name, int korScore, int engScore) { this.name = name; this.korScore = korScore; this.engScore = engScore; } public int getTotalScore() { return korScore + engScore; } }
- 메서드를 호출해서 리턴 타입에 맞는 변수에 저장해서 사용이 가능하다
'Back-end > JAVA' 카테고리의 다른 글
20. Class - final(상수) (0) | 2021.07.24 |
---|---|
19. Class - 멤버와 패키지, 접근 제한자 (0) | 2021.07.24 |
17. Class - Constructor(생성자) (0) | 2021.07.24 |
16. Class - Field(필드) (0) | 2021.06.23 |
15. Class - 객체와 클래스 (0) | 2021.06.22 |