본문 바로가기
IT/JAVA

[JAVA/자바] method - static

by 가아앗 2022. 11. 2.
반응형

JAVA의 메소드 코드를 보면 public static void와 public void가 있다.

 

static이 붙고 안붙고의 차이는 무엇일까? 

 

메소드를 정의할 때 static이 있으면 class 소속
메소드를 정의할 때 static이 없으면 instance의 소속이다.

 

 

예제 )

 

static (class 소속)

성격이 비슷한 a , b메소드를 class Print로 그룹핑 하였다.

class Print의 a메소드와 b메소드에 인자값을 넣어주고 호출하였다.

하지만 새로 메소드를 호출할 때마다 인자 값(- , /)을 호출해야 하므로 그리 효율적이지 않다.

 

 

 

예제 2 )

 

no static (인스턴스 소속)

 

인스턴스를 만들고 t1, t2의 delimiter 값을 지정해주었다.

그리고 인스턴스 t1, t2의 a, b메소드를 호출해주었기 때문에 인자값(- , /)을 추가하지 않아도 된다.

메소드가 인스턴스 소속임으로 a, b메소드에 static을 없애주어야 한다.

class 소속으로 호출하는 것보다 보다 간단하고 효율적이다.

반응형

댓글