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
- 딥러닝
- 컴파일시스템
- attribute
- 단국대학교 k-mooc
- K-MOOC 단국대학교 홍보단
- biginteger사용법
- Node
- 오블완
- 시스템프로그래밍
- 우선순위큐
- StringBuilder
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 디스크블록할당
- html기초
- K-MOOC
- CSS 기초
- 해시
- 블록체인 강의
- 2차원배열정렬
- 자바스크립트
- 티스토리챌린지
- 자바문자열구분
- 머신러닝
- national instruments
- Entity
- StringTokenizer
- stringreader
- 블록체인
- 자바입력받기
- 블록체인강의
Archives
- Today
- Total
열정 실천
[정처기] Static 변수와 Static 함수 본문
728x90
프로세스의 메모리 세그먼트 부분에서 배웠듯이 Static변수는 프로그램이 시작될 때 data 부분에 메모리가 할당이 되고 프로그램이 종료될 때까지 그 값을 유지한다. 지역 변수와 달리 함수나 메서드가 종료되어도 값이 사라지지않고 유지된다.
C/C++에서의 static 변수와 함수
- 전역 변수: 파일의 전역에서 static 키워드를 사용하면 해당 파일 내에서만 접근할 수 있는 전역 변수 및 함수가 되고, 다른 파일에서 그 변수를 참조할 수 없다.
- 지역 변수: 함수 내에서 static 변수를 선언하면 함수 내에서만 접근할 수 있지만, 함수가 여러 번 호출되더라도 값이 초기화되지 않고 이전 값이 유지된다.
JAVA에서의 Static 변수
클래스 변수라고도 하며, 객체에 속하지 않고 클래스에 속하는 변수이다.
즉, 모든 객체가 해당 변수를 공유한다. 인스턴스가 여러 개 만들어져도 static 변수는 하나만 존재하며, 클래스가 메모리에 로드될 때 할당되고 프로그램이 종료될 때까지 유지된다.
class Example {
static int staticVariable = 0;
void increment() {
staticVariable++;
}
}
public class Main {
public static void main(String[] args) {
Example obj1 = new Example();
Example obj2 = new Example();
obj1.increment();
System.out.println(Example.staticVariable); // 1
obj2.increment();
System.out.println(Example.staticVariable); // 2
}
}
Example클래스의 객체가 2개 만들어졌지만 static 변수인 staticVariable은 각각 객체마다 생성되는 것이 아니고 오로지 한 개만 존재한다. 이 값을 두 객체가 공유하는 것이다.
🔊 Java에서는 함수 내에 static 변수를 선언할 수 없다.
JAVA에서의 Static 함수
Java에서 static 메서드는 클래스에 속한 메서드로 객체 인스턴스를 생성하지 않고도 해당 메서드를 호출할 수 있다.
static 변수와 마찬가지로, static 메서드는 클래스 레벨에서 공유되며, 모든 인스턴스가 동일한 메서드를 사용한다.
class Example {
static void staticMethod() {
System.out.println("This is a static method");
}
}
public class Main {
public static void main(String[] args) {
// 객체 생성 없이 클래스명으로 호출 가능
Example.staticMethod();
}
}
728x90
'CS > 공부노트' 카테고리의 다른 글
쿠버네티스(Kubernetes)가 모게~? 기본 개념, 구성 요소, 용어 정리 (0) | 2024.11.18 |
---|---|
물리 저장 장치 HHD와 SSD (0) | 2024.11.15 |
웹 서버와 웹 어플리케이션의 구조 및 관계 (2) | 2024.11.04 |
호스팅 vs 도메인 차이 (1) | 2023.04.18 |
[기초] 컴퓨터 구조 한눈에 파악하기 (0) | 2022.09.09 |