반응형
▷ Static
자바의 Static 키워드는 클래스와 관련된 멤버를 정의할 때 사용한다.이런 Static 키워드는 인스턴스를 만들지 않고 클래스에 선언된 변수와 메소드를 사용할 수 있다는 특징을 가지고 있다.공유를 해야하는 변수나 메소드에 static을 붙여 사용하며, 그 변수나 메소드를 사용할 때는 인스턴스명이 아닌 클래스 명을 직접 지정하여 사용한다.
class Ex1{
static int example1;
static int example2;
}
class Main{
public static void main(String[] args){
Ex1.example1 = 1000;
Ex1.example2 = 2000;
}
}
그럼 아래 예제를 통해 조금 더 알아보도록 하자.
class Ex{
static int month; // static 붙은 변수 (클래스 변수)
static int count; // static 붙은 변수 (클래스 변수)
static void name(){ // static 붙은 변수 (클래스 메소드)
System.out.println(month + "월의 망댕이");
}
int price; // static 붙지 않은 변수 (인스턴스 변수)
int price2; // static 붙지 않은 변수 (인스턴스 변수)
void money(){ // static 붙지 않은 메소드 (인스턴스 메소드)
price2 = (int) (price*0.9);
System.out.println("이번달의 수익 : " + price2);
count++; // 클래스 변수는 인스턴스 변수들과 다르게 초기화되지 않고 그 값을 계속 유지
// 예를 들어 Ex.count를 3번 호출하면 count는 3값을 갖는다.
}
}
class Main{
public static void main(String[] args){
Ex.month = 10;
Ex.name();
// Ex클래스의 인스턴스 없이 변수와 메소드를 사용한다.
Ex ex = new Ex();
ex.price = 300000;
ex.money();
// 인스턴스를 이용하여 Ex에 있는 변수와 메소드를 사용한다.
System.out.println(ex.count+"번째 수익");
}
}
//실행결과
10월의 망댕이
이번달의 수익 : 270000
1번째 수익
static이 붙은 변수, 메소드와 static이 붙지 않은 변수, 메소드의 차이점을 알아볼 수 있다.
static이 붙은 변수와 메소드에는 인스턴스 없이 클래스.변수or메소드()를 사용하고
static이 붙지 않은 변수와 메소드는 인스턴스를 이용하여 변수or메소드()를 사용한다는 점을 알 수 있다.
마지막으로 static에 대해 간단하게 정리하자면 이렇게 볼 수 있다.
(1) static이 붙은 변수 or 메소드 사용 시
클래스 명.변수;
클래스 명.메소드();
(2) static이 붙지 않은 변수 or 메소드 사용 시
클래스명 참조변수;
참조변수 = new 클래스명();
참조변수.변수;
참조변수.메소드()
잘못된 정보나 오류는 댓글로 부탁드립니다!!
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] this 키워드 사용하는 이유? this에 대해 알아보자 (자바 this) (0) | 2024.07.29 |
---|---|
[Java 자바] 생성자 키워드 사용하는 이유란? 생성자에 대해 알아보자 (자바 생성자) (0) | 2024.07.23 |
[Java 자바] 객체와 인스턴스의 개념 알아보기 (Object, instance) (0) | 2024.07.09 |
[Java 자바] Split() 함수 사용 방법 및 예제 알아보기 (0) | 2024.05.22 |
[Java 자바] 2차원 배열 생성 및 예제 알아보기 (0) | 2024.05.21 |