Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Typescript
- Firebase
- Java
- 카카오톡
- CUSTOM
- html
- spring
- spring boot
- 인텐트
- 비밀번호
- db
- 강의
- ViewPager
- Android
- SERVLET
- centos7
- radiobutton
- mysql
- 개발 방법론
- php
- ImageView
- div
- CSS
- 하이브리드
- hybrid app
- 사용법
- Oracle
- 안드로이드
- 연동
- 하이브리드 앱
Archives
- Today
- Total
유혁의 개발 스토리
[Java] 4. static 메소드와 인스턴스 메소드 본문
1. static 메소드란
: 인스턴스에 공통으로 사용하는 맴버변수에 사용한다.
해당 인스턴스가 여러개 생성되었을 때 한번의 static 맴버변수의 값을 할당하면
모든 인스턴스의 static맴버변수가 변경된다. 이해가 어렵다면, 소스를 보면서 이해하는게 좋다.
public class Study {
public static void main(String[] args) {
A a1 = new A("abc", "1");
System.out.println(a1.toString());
A a2 = new A();
a2.setIndex("2");
System.out.println(a2.toString());
// config 변경
a2.setConfig("def");
System.out.println(a1.toString());
System.out.println(a2.toString());
}
}
class A {
public static String config;
public String index;
A() {
}
A(String config, String index) {
this.config = config;
this.index = index;
}
public void setConfig(String config) {
this.config = config;
}
public void setIndex(String index) {
this.index = index;
}
@Override
public String toString() {
return "config : " + config + " index : " + index;
}
}
static 맴버변수인 config 는 a1, a2라는 인스턴스를 생성하였고 abc라는 값으로 생성하였다.
a2 인스턴스의 config 값을 변경하였더니 a1의 config도 변경된 것을 확인 할 수 있다.
A라는 class의 static config 는 모든 인스턴스에 적용됨을 확인 할 수 있다.
인스턴스의 전역맴버변수라 이해하면 좋을 것 같다.
2. static 메소드 사용법 및 특징
- 맴버변수 중 모든 인스턴스에 공통으로 사용하는 것에 static을 사용한다.
- static 변수는 인스턴스를 생성하지 않아도 사용이 가능한다. 메모리에 올라갈 때 자동적으로 생성됨.
- 인스턴스 생성 없이 사용이 가능하다.
- 메소드 내에서 맴버변수(인스턴스 변수)를 사용하지 않는다면, static을 고려.
'Java' 카테고리의 다른 글
[Java] 6. super 란 무엇인가 (0) | 2022.03.16 |
---|---|
[Java] 5. Object 클래스 (0) | 2022.03.16 |
[Java] 3. 향상된 for문 (0) | 2022.03.15 |
[Java] 2. 변수 (0) | 2022.03.15 |
[Java] 1. Java를 시작하기 전에 (0) | 2020.11.30 |