class LoginPage{
boolean success; //인스턴스 변수
void Login(){
success = true;
}
//인스턴스 메소드
static void classLogin(boolean success){
return success;
}
//클래스 메소드
}
반환형 앞에 static 키워드가 존재하면 클래스 메소드(static method)라 하며 그렇지 않으면 인스턴스 메소드(instance method)라고 한다. 그렇다면 이 둘의 차이는 무엇일까?
클래스 메소드는 인스턴스(객체)를 생성하지 않고도 바로 접근이 가능하다.
System.out.println(LoginPage.classLogin(true)); // 클래스 메소드
LoginPage myLoginPage = new LoginPage();
System.out.println(myLoginPage.Success()); //인스턴스 메소드
이러한 방식으로 클래스 메소드는 인스턴스를 생성하지 않고도 바로 사용할 수 있다.(클래스 변수와 동작방식 동일)
하지만, 인스턴스 변수를 메소드 내부에서 사용할 수 없다.
클래스 메소드는 전달된 매개변수만으로 동작하는 방식이다.
'Java > Java Concept' 카테고리의 다른 글
메소드 오버라이딩(Method Overriding) 개념 (0) | 2022.08.09 |
---|---|
상속(inheritance) (0) | 2022.08.09 |
필드의 구분(클래스 변수, 인스턴스 변수, 지역 변수) (0) | 2022.08.09 |
접근제어자 + 제어자 개념 (0) | 2022.07.22 |
패키지(package) 개념 (1) | 2022.07.08 |