2013년 6월 26일 수요일
(130626) 3일차 MethodInvoke.java (Method 호출 방법)
- Method 호출 방법 : 외부클래스 호출, 내부클래스 호출
- 외부클래스 호출
: Static Method (객체를 생성하지 않고 호출이 가능. Heap영역에 올려놓지 않고 바로 사용한다. - main 메소드 또는 데이터를 특별히 저장하거나 보관하지 않아도 되는 것들.) : 클래스명
: Non-static Method(객체를 보관해야 할 때 Heap 영역에 올려야 함) : 객체 생성
- 내부클래스 호출
: Static Method : 클래스명
: Non-static Method : 객체생성
- Static과 Non-static 둘 다 모두 객체생성 가능.
- 소스
import sds1.PublicTest;
public class MethodInvoke {
public void a(){
b(); // a와 b메소드는 같은 영역이므로 호출 가능.
this.b(); // 이렇게 호출도 가능
MethodInvoke m = new MethodInvoke();
m.b(); // 이렇게 호출도 가능
}
public void b(){ // a와 b메소드는 heap영역이므로 main에서 객체를 붙이지 않고 호출 불가능
c(); // 일반적인 영역에서는 호출 가능. static 메소드에서 non-static 메소드 호출시에만 객체 생성이 필요.
MethodInvoke.c(); // 이렇게 호출도 가능.
}
public static void c(){
}
// 항상 프로그램의 시작은 메인메소드
public static void main(String[] args){
// heap 영역에 메소드를 등록하는 것을 객체 생성이라고 부른다.
MethodInvoke mi = new MethodInvoke();
mi.a(); // heap 영역에 있으므로 mi를 붙이지 않으면 안됨.
c(); // static 이므로 객체가 필요없음.
MethodInvoke.c(); // 이렇게 호출도 가능.
PublicTest pt = new PublicTest();
pt.jsp1(); // jsp1()이 public static일 때 객체생성으로 호출
PublicTest.jsp1(); // jsp1()이 public static일 때 클래스명으로 호출
}
}