20250122
method ( 일 work )
- 일(업무)을 구분하여 정의하기 위해서.
- 중복코드를 줄일 수 있다.
- 호출하여 정해진 일을 수행한다.
- instance method, static method 두가지로 정의할 수 있다.
instance method : 객체가 가지고 있는 값을 사용하여 업무를 처리할 때
(객체화 후 호출)
static method : 객체가 가지고 있는 값을 사용하지 않고 업무를 처리할 때
⁍
접근제어자
public : 클래스 외부에서 호출 가능
protected : 같은 패키지의 다른 클래스에서 호출 가능
default
private
final : Override 방지
static : 객체화없이 method를 직접 호출해서 사용
synchronized : 동기화 처리
반환형
return type
- method 호출시 업무처리한 값을 반환할 때 사용
- void : 반환 값 없음.
method명
- 하는 일을 알아 볼 수 있도록 이름을 설정.
- 소문자시작, 여러단어로 이름이 구성되는 경우 다음 단어의 첫글자만 대문자로 설정(낙타체)
// 1. method 정의 :
// 접근지정자 반환형 method명 (매개변수) {
//
// }
// 2. 호출 :
// - static method
// 클래스명.method명(값..);
// (값..) : arguments
// - instance method
// 객체화)
// 클래스명 객체명 = new 클래스명();
// 객체명.method명(값..);
static method
- 객체화 없이 호출하여 사용하는 method.
- instance variable에 저장된 값을 사용하지 않고, 업무를 처리해야 하는 경우.
1. 선언
public static void method명(매개변수) {
업무로직 정의;
}
2. 호출
클래스명.method명(값); // parameter의 데이터 형과 개수에 일치하도록 입력해야한다.
instance method
- instance variable, static variable, local variable, parameter 를 사용하여 업무를 처리할 때.
- 객체화 후에 사용.
1. method 정의)
public void method명(매개변수,,,) {
업무 구현;
}
2. 객체생성)
클래스명 객체명 = new 클래스명();
3. 호출)
객체명.method명(값,,,);
class Test {
int day; // instance 변수
public void printDay() {
System.out.println(day + "일");
}
public static void main(String[] args) {
Test t1 = new Test(); // 객체생성
t1.printDay(); // 0일
t1.day = 21;
t1.day++;
t1.printDay(); // 22일
Test t2 = new Test();
t2.printDay(); // 0일
}
method의 4가지 형태
- 고정일, 가벼닐, 고정값, 가변값
1. 고정일 - 반환 값 없고, 매게변수 없는 형.
- 항상 같은 일을 수행한다.
public void method명() {
// 일
} // 호출한 곳으로 돌아간다. [ main? ]
// 호출
객체명.method명();
2. 가변일 - 반환값 없고, 매개변수 있는 형.
public void typeB(int i) {
// 매개변수를 사용한 일 => 매개변수에 따라 다른 일 수행 => 가변일.
}
3. 고정 값 - 변환형 있고, 매개변수 없는 형.
public int typeC() {
// 일 => 결과
return 21; // return 값과 변환형이 일치해야함.
}
//호출
객체명.typeC();
4. 가변 값 - 반환형 있고, 매개변수 있는 형.
public int typeD(double d) {
// 일
return (int)d; // return 값은 변환형값(int)
}
호출)
// 데이터형 변수명 = 객체명.typeD(1.22);
int d = mt.typeD(1.22);
Variable Arguments ( 가변 인수 )
- method parameter는 하나이지만, 입력되는 값이 동적일 때
- JDK1.5에서부터 지원되는 기능.
- System.out.printf(), System.out.format() 에 적용되었습니다.
- 매개변수가 여러 개 정의될때 V.A는 가장 마지막에만 기술 할 수 있다.
- V.A는 method안에 배열로 처리된다.
// method 선언
public void method(데이터...매개변수명) {
// V.A의 매개변수명은 배열로 처리된다.
// 배열이 들어오면 반복문을 사용하여 처리한다.
}
// 호출
일반 method는 parameter의 데이터형과 개수를 맞춰서 호출해야한다.
V.A는 데이터형만 일치한다면 개수는 상관없습니다.
객체명.method명();
객체명.method명(1);
객체명.method명(1,2,3,4,5,6);
Escape Character
특수문자 | 기능 | 사용법 |
\n | 줄 변경 | “문자열 \n문자열” |
\r | Return | 커서를 해당 줄에 가장 앞으로 이동. (Windows에서는 줄을 변경) |
\t | Tab 출력 | “문자열 \t문자열” |
\’ | 홀 따옴표 출력 | “문자열 \’문자열 “ |
\” | 쌍 따옴표 출력 | “문자열 \”문자열\”” |
\\ | \ | “문자열 \\ 문자열” |
\b | backspace | “문자열\b” |
\f | 프린터의 한줄 변경 | “문자열 \f 문자열” |