반응형
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 |
Tags
- 자료구조
- 대이터
- 웹 용어
- CES 2O21 참여
- inorder
- KNeighborsClassifier
- web 사진
- classification
- web 개발
- cudnn
- java역사
- 데이터전문기관
- 결합전문기관
- 재귀함수
- 머신러닝
- mglearn
- CES 2O21 참가
- postorder
- vscode
- C언어
- Keras
- paragraph
- discrete_scatter
- broscoding
- html
- pycharm
- tensorflow
- web 용어
- web
- bccard
Archives
- Today
- Total
bro's coding
java.static(정적) 본문
반응형
static : 정적 변수 또는 메서드일 때 사용하는 자바 키워드
static member == class member - 붕어빵틀의 멤버(변수, 메서드)
> 클래스명.static변수 or 클래스명.static메서드
> static을 사용하면 별도의 메모리 공간 (meta space)에 생성됨(GC가 안 되기 때문에 가급적 사용 피할 것)
package step1;
public class TestStatic1 {
int money = 2;
static int point=100;
public static void main(String[] args) {
System.out.println("main method is static method");
/*
* 아래는 compile error : static method에서는 인스턴스변수(객체의 멤버 or non-static field)에 접근할
* 수 없다
*/
// System.out.println(money);
// sol : money에 접근하기 위해서는 자신의 클래스라도 객체 생성을 통해서 메모리에 적재한 후 사용 가능하다
TestStatic1 ts1 = new TestStatic1();
System.out.println(ts1.money);
// 아래와 같이 static 끼리는 객체 생성없이 바로 사용 가능 > class loading시에 적재되기 때문
System.out.println(point);// static variable은 객체 생성 없이 사용 가능
}
}
static(class member)와 non-static(object member)접근
static > non-static 으로 바로 접근은 불가, 객체 생성이 필요
non-static > static으로 직접 접근 가능
package step1;
class Fish{
static int sCount;
Fish(){
System.out.println("Fish 객체 생성");
sCount++;
}
}
public class TestStatic3 {
public static void main(String[] args) {
Fish f1=new Fish();
Fish f2=new Fish();
Fish f3=new Fish();
System.out.println(Fish.sCount);
}
}
package step1;
public class TestStatic4 {
public static void main(String[] args) {
System.out.println("main method run");
}
// main보다 앞서 초기화 하고 싶을 때, 사용
static {
System.out.println("static 초기화1");
}
static {
System.out.println("static 초기화2");
}
}
반응형
'[IT] > java' 카테고리의 다른 글
java.Design pattern.template (0) | 2021.03.04 |
---|---|
java.Design pattern (0) | 2021.03.04 |
java.abstract(추상화) (0) | 2021.03.04 |
java.final (0) | 2021.03.04 |
java.Polymorphism.ObjectCasting(캐스팅) (0) | 2021.03.02 |
java.Polymorphism.instanceof(객체 타입 비교) (0) | 2021.03.02 |
java.Polymorphism(다형성) (0) | 2021.03.02 |
java.annotation(어노테이션) (0) | 2021.03.02 |
Comments