20일 차 - 클래스 변수, Static 변수 (23.01.20)

yvonne·2023년 1월 25일
0

📂Java

목록 보기
20/51
post-thumbnail

1.클래스 변수의 4가지 용어는?

  • 클래스 변수: 멤버변수 중 static이 붙은 것
    = Static 변수 = 공유 변수 = 정적 변수(C언어에서 사용)

  • 시작할 때 객체 생성 전에 클래스를 한번 스캔하고 static이 있으면 따로 먼저 한번 메모리에 올리고
    그 뒤에 객체 생성 할 때는 static 선언된 클래스 변수는 메모리에 올리지 않는다.

  • static 키워드가 안 붙어 있으면 인스턴스 변수이다.



2.static 변수의 접근방법은?

  • 클래스 내부 접근: static 변수가 선언된 클래스 내에서는 이름만으로 직접 접근 가능

  • 클래스 외부 접근: private으로 선언되지 않으면 클래스 외부에서도 접근 가능
    · 접근 수준 지시자가 허용하는 범위에서 접근 가능
    · 클래스 또는 인스턴스의 이름을 통해 접근



3.지역변수에 접근제한자를 붙이지 않는 이유는?

  • 지역변수는 범위가 해당 함수(대괄호) 안에서만 사용할 수 있도록 한정되어 있기 때문에 접근제한자를 붙여도 의미가 없다. (매개변수 포함)



4. 아래와 같이 출력이 되도록 Baby 객체를 만드시오.

main(){
        Baby cnt1 = new Baby();
        Baby cnt2 = new Baby();
        Baby cnt3 = new Baby();
}
  • 출력
    Baby 생성: 1
    Baby 생성: 2
    Baby 생성: 3

class Baby2 {
	static int babyNum = 0;

	Baby2() {
		babyNum++;
		System.out.println("Baby 생성: " + babyNum);
	}
}

public class BabyStatic {

	public static void main(String[] args) {

		Baby2 cnt1 = new Baby2();
		Baby2 cnt2 = new Baby2();
		Baby2 cnt3 = new Baby2();

	}

}

  • 출력결과
profile
개발 연습장

0개의 댓글