//선언부
접근지정자(접근제한자) 반환타입 매서드명(입력인자){
//처리문,실행문,구현문
return 반환값; //반환값이 없으면 생략
}
//선언부
public void instanceMethod(String name){ //인스턴스 매서드
//구현부
System.out.prinln(name+"인스턴스 매서드2");
}
반환타입: return값과 타입이 같아야함(모든 매서드는 반환값이 있어야함)
매서드를 호출한 곳에 return값이 반환된다. void만 실행하면 됨
static 매서드는 static 멤버만 접근 가능 → static멤버(클래스멤버)
non-static 매서드 : static 멤버도 접근 가능
지역변수(logical) : 매서드 안에서 선언된 변수, 매개변수
인스턴스멤버 : 클래스 내부의 변수 → 인스턴스를 생성한 후 접근 가능
클래스멤버 : 인스턴스를 생성하지 않아도 접근 가능
지역변수(메소드 안에 선언) : 메소드 안의 변수
지역변수(매개인자) : 메소드 매개인자
객체 참조 변수 : 객체(인스턴스)의 주소값을 저장
상수 : 수식에서 변하지 않는 값
상수의 선언
final 상수타입 상수명;
final static int MAN;
매서드 오버로딩
기본적으로 자바에서는 동일한 이름의 매서드를 허용하지 않는다.
예외적으로 매서드 이름이 같은 것을 허용한다
매서드의 선언부에서 매서드 명이 똑같다
매서드의 매개인자 유행이 다른 매서드
매서드의 매개인자 갯수가 다른 매서드
public void method1(){
}
public void method1(int num1){
}
public void method1(int num1, String name){
}
public void method1(String name, int num1){
}
System.out.print도 역시 매서드 오버로딩이 가능한 매서드의 일종.
접근제한자(Modify) = 접근지정자
클래스
멤버(클래스 내부)
- public : 다른 패키지
- private : 같은 클래스 내에서만 사용가능 → 캡슐화 → 보안, 보호, DB관련 DTO, Entity
- protected : 상속관계, 같은 패키지
- default : 같은 패키지
ㅤ같은패키지ㅤ | ㅤ다른패키지ㅤ | ㅤㅤ상속ㅤㅤ | ㅤ같은클래스ㅤ | |
---|---|---|---|---|
public | O | O | O | O |
protected | O | X | O | O |
default(생략) | O | X | X | O |
private | X | X | X | O |
생성자(constructor)
this()
캡슐화
private 필드를 외부에서 초기화
public void setUserID(String userID){
this.userID=userID;
}
private 필드를 외부에서 호출
public String getUserID(){
return this.userID;
}
public void set~
lombok.jar → spring 에서 사용(private)