static 이란?

  • 객체 생성과 상관없이 사용되는 멤버(변수, 메소드)
  • 클래스명을 통해서 접근할 수 있다

 

static 변수란?

  • 모든 객체가 static 이라는 하나의 공간을 참조한다
  • 프로그램이 실행될때 만들어져서 종료시 소멸된다 (객체 이전에 먼저 만들어지는 공간)
  • 모든 객체가 일괄적으로 처리되어야할 데이터를 저장하는 멤버변수 공간

 

static 메소드란?

  • 클래스의 기능과는 연관이 있지만 객체 생성과는 상관없는 기능을 만들 때 사용
  • this 사용 불가
  • static 메소드에서는 static 멤버만 사용 가능

 

 

간단하게 말해서 객체 생성 없이 변수와 클래스 사용이 가능하게 하는 기능

 

 

예제

  • static 메소드에서는 static 변수만 사용가능
  • 일반 메소드에서는 static 변수와 일반 변수 모두 사용가능

 

+ Recent posts