| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 자바
- ncbi
- 캐글
- RNN
- 인공신경망
- 결정트리
- 이항분포
- 서열정렬
- 인공지능 수학
- bioinformatics
- Kaggle
- BLaST
- 파이썬
- 인공지능
- COVID
- 바이오파이썬
- 딥러닝
- 블록체인
- AP Computer Science A
- 바이오인포매틱스
- HMM
- Java
- SVM
- 오류역전파
- 생명정보학
- CNN
- AP
- 생물정보학
- 시그모이드
- MERS
- Today
- Total
데이터 과학
static 변수 본문
static은 dynamic과는 다른 의미로 정의가 됩니다.
객체를 생성할때 사용하는 메소드들은 기본적으로 dynamic으로 정의가 되는데, static은 고정된다는 의미가 있습니다.
static 메소드는 객체를 생성하지 않기에 static으로 정의된 main 메소드의 경우 객체가 만들어지지 않습니다.
아래 예제는 static으로 정의된 변수입니다.
프로그램을 실행하면 결과는 1과 2가 나옵니다.
c1과 c2라는 객체를 만들었고 출력을 하면 모두 다함께 1이 출력되어야 하는데 결과는 누적된 값이 나옵니다.
그 이유는 count가 static으로 정의되어서 그렇습니다.
static은 초기화가 안되기에 누적된 결과가 나타냅니다.
class Counter {
static int count = 0;
Counter() {
count++; // count는 더이상 객체변수가 아니므로 this를 제거하는 것이 좋다.
System.out.println(count); // this 제거
}
}
public class Sample {
public static void main(String[] args) {
Counter c1 = new Counter();
Counter c2 = new Counter();
}
}
참고로 아래는 static 메소드에 대한 설명입니다.
https://tsyoon.tistory.com/138
static 메소드
Java에서 static 메소드는 클래스 레벨에서 정의되는 메소드입니다. 즉, 해당 클래스의 인스턴스에 의존하지 않고 호출이 가능합니다. static 메소드는 클래스의 정적 멤버(static member)로 간주되며,
tsyoon.tistory.com
'AP > AP Computer Science A' 카테고리의 다른 글
| 상속 예제 (0) | 2024.05.31 |
|---|---|
| this와 toString() 메소드 (0) | 2024.05.29 |
| ArrayList 예제 (0) | 2024.01.12 |
| 생성자 선언 관련 문제 (1) | 2024.01.11 |
| Blue J 설치 (0) | 2024.01.07 |