Class Member Method
클래스의 멤버 메서드
- 클래스 내에서 개발자가 만드는 소스 코드의 단위를 나타낸다
- 클래스가 가지고 있는 기능들을 정리할 때 사용하며 개발자는 프로그래밍을 할 때 작성되는 소스 코드는 메서드 내부에 작성을 해야 한다
- 메서드는 클래스에서의 작업의 단위이다
메서드 작성 문법
- 메서드는 다음과 같은 구조를 가진다
- [접근 제한자] [리턴 타입] 메서드 이름 ([메개 변수]) {
소스코드
}
- 접근 제한자 : 같은 클래스 내부가 아닌 외부에서 접근 하고자 할 때 제한을 두는 부분이다
- 리턴 타입 : 메서드의 코드를 수행 후 메서드를 수행한 부분에 값을 전달할 때 전달되는 값의 타입을 적어준다 전달할 값이 없다면 void라고 작성한다
- 메개 변수 : 메서드를 사용하는 부분에서 이 메서드에 값을 전달해주고자 할 때 매개 변수를 통해 값을 사용할 수 있다 메서드를 사용하는 곳에서 값을 전달해 주면 메개 변수에 값이 세팅되고 메서드 내부에서는 메개 변수를 통해 받은 값을 사용할 수 있다
Overloading
- 클래스 내부의 모든 메서드들은 그 이름이 모두 달라야 한다
- 객체 지향 프로그래밍 언어에서는 개발자가 메서드 사용을 좀 더 편하게 할수 있도록 같은 이름으로 여러 개의 메서드를 만들어 사용하는 것을 지원한다
- 원래 메서드와 메서드의 구분은 메서드의 이름을 가지고 하지만 메서드의 이름이 같을 경우 내부의 매개변수를 가지고 구분을 하게 된다 이름은 같지만 메개 변수의 형태가 다를 경우 다른 메서드로 취급을 한다
- 이러한 개념을 메서드의 Overloading 이라고 부른다
MethodTest.java
--------------------------------------------------------------------------------------
Class c1 = new Class1( );
c1.method1( );
c1.add(100, 200);
int result = c1.resultAdd(500, 600);
System.out.println("리턴 받은 값 : " + result);
c1.add (500, 600);
--------------------------------------------------------------------------------------
Class1.java
--------------------------------------------------------------------------------------
public class Class1 {
public void method1( ) {
System.out.println("메서드 1번입니다");
method2( );
}
public void method2( ) {
System.out.println("메서드 2번입니다");
}
public void add(int a, int b) {
int result = a + b;
System.out.println("정수 연산 a + b = " + result);
}
public void add(int a, int b, int c) {
int result = a + b + c;
System.out.println("정수 3개 연산 a + b + c = " + result);
}
public int resultAdd(int a, int b) {
int result = a + b;
return result;
}
}