특정 기능을 수행하기 위한 코드들의 집합 (C언어의 함수(Function)와 동일한 기능)
⭐ 메서드를 작성할 때는 되도록 하나의 메서드가
하나의 기능만을 수행하도록 작성하는 것이 좋다.
구분 | 전체 |
---|---|
static | static 영역에 할당하여 객체 생성 없이 사용 |
final | 종단을 의미, 상속 시 오버라이딩 불가능 (기능 확장을 막기 위해 사용) |
abstract | 내용부 정의가 없는 추상 메서드를 선언할 때 사용하며, 반드시 오버라이딩 해야 함 |
synchronized | 특정 메서드에서 여러 스레드가 동작할 경우 중복 실행 방지 공유 자원에 한 개의 스레드만 접근 가능 (동기화 처리) |
static final (final static) | static과 final의 의미를 둘 다 가짐 (혼합 형태) |
구분 | 전체 |
---|---|
void | 반환형 없음 ⭐ 반환형이 없을 경우 반드시 작성 ! |
기본 자료형 | 연산 수행 후 반환값이 기본 자료형일 경우 사용 |
배열 | 연산 수행 후 반환값이 배열일 경우 배열의 주소값을 반환 |
클래스 | 연산 수행 후 반환값이 해당 클래스 타입일 경우 해당 객체의 주소값을 반환 (클래스 == 타입) |
구분 | 전체 |
---|---|
기본 자료형 | 기본형 매개변수 사용 시 값을 복사하여 전달 매개변수 값을 변경하여도 본래 값은 변경되지 않음 |
배열, 클래스 | 배열, 클래스 등 참조형을 매개변수로 전달 시에는 데이터의 주소 값을 전달하기 때문에 매개변수를 수정하면 본래의 데이터가 수정됨 (얕은 복사) |
가변인자 | 매개변수의 개수를 유동적으로 설정하는 방법으로 가변 매개변수 외 다른 매개변수가 있으면 가변 매개변수를 마지막에 설정 * 방법 : (자료형 ... 변수명) |
getter 메서드 : 필드에 기록된 값을 읽어서 요청한 쪽으로 읽은 값을 넘기는 메서드
public 속성자료형 get속성명 ( ) { return 속성명; }
setter 메서드 : 필드에 변경할 값을 전달 받아서 필드 값을 변경하는 메서드
public void set속성명 (속성자료형 속성명) { this.속성명 = 속성명; }
메서드 안에 존재하는 값을 호출한 영역으로 반환해주는 것
package kh.oop1.day04.exam;
public class Student {
private int studentNo;
private String studentName;
// getter
public int getStudentNo() {
return studentNo;
}
public String getStudentName() {
return studentName;
}
// setter
public void setStudentNo(int studentNo) {
this.studentNo = studentNo;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
}
package kh.oop1.day04.run;
import kh.oop1.day04.exam.Student;
public class Run {
public static void main(String[] args) {
Student st = new Student();
st.setStudentNo(1);
st.setStudentName("홍길동");
System.out.println(st.getStudentNo());
System.out.println(st.getStudentName());
}
}