Java/Java Concept

메소드의 구분(클래스 메소드, 인스턴스 메소드)

SeungbeomKim 2022. 8. 9. 21:29
반응형
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()); //인스턴스 메소드

이러한 방식으로 클래스 메소드는 인스턴스를 생성하지 않고도 바로 사용할 수 있다.(클래스 변수와 동작방식 동일)

하지만, 인스턴스 변수를 메소드 내부에서 사용할 수 없다.

클래스 메소드는 전달된 매개변수만으로 동작하는 방식이다.

 

반응형