728x90
반응형
static을 붙이는 메서드
메서드에 static이 붙는 경우는 어떤 불변의 기능을 언제든지 실행시켜야 할 때 static이 붙는다.
예를 들어 원의 둘레를 구하는 메서드를 구현한다고 하면, 이 경우는 static이 붙여져서 선언된다.
이유: 어느 전 국가에서나 통용되는 범용적인 공식이기 때문에 static을 붙여서 선언한다.
위처럼 메서드의 기능을 잘 생각해서 static을 붙일지 말지 결정하여 메서드를 선언한다.
아래에는 static이 붙은 메서드에 일반 멤버변수가 들어간 경우이다.
- 이 때 static 메서드과 멤버변수는 이미 메모리가 할당되어 객체 호출없이 static 멤버변수를 사용 가능하지만 일반 멤버변수는 메모리 할당이 되어있지 않기 때문에 사용이 불가능하다.
- 따라서 메서드안에 객체를 호출해줘야 일반 멤버변수를 사용할 수있다.
class NoAccessWay{
static int num;
int memvari;
public static void noAccessWay() {
// static 메서드이기 때문에 일반 멤버변수는 접근이 불가
// 이유는 일반 멤버변수는 메모리 할당이 되어있지 않기 떄문에 메서드 안에서 객체를 호출해줘야 정상적으로 실행이 가능하다
NoAccessWay w = new NoAccessWay();
w.memvari++; //접근 불가
num++;
}
}
728x90
반응형
'국비과정 > Java' 카테고리의 다른 글
프로젝트를 설계할 때 생각해야할 순서 (0) | 2022.02.17 |
---|---|
자바 inheritance - 상속, 메서드 오버라이딩, 다형성 (0) | 2022.02.15 |
자바 StringTokenizer (0) | 2022.02.14 |
자바 접근제어자 (0) | 2022.02.08 |
자바 객체지향 개념 (0) | 2022.02.08 |