SW공부 20일차

Guryena·2023년 1월 20일
0

CS

목록 보기
12/34

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

  • static
    공유변수, 정적변수, 클래스변수, static변수 라고 한다.

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

클래스 내부 접근

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

클래스 외부 접근

  • private 으로 선언되지 않으면 클래스 외부에서도 접근 가능

  • 접근 수준 지시자가 허용하는 범위에서 접근 가능

  • 클래스 또는 인스턴스의 이름을 통해 접근

    way.num++; 과 같이 인스턴스 이름으로 접근하는 경우는 static변수에 접근하는지, 인스턴스 변수에 접근하는지 저 문장만 보고 파악하기 어렵다.

    하지만 AccessWay.num++; 처럼 클래스 이름으로 접근하면 static변수에 접근한다는 것을 문장만 보고도 알 수 있다.(클래스 이름은 첫 문자 대문자이기 때문에)

    그래서 인스턴스 이름으로 static변수에 접근하는 것 보다는 클래스 이름으로 접근하는 것이 더 좋은 방법이다.

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

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

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

main(){
        Baby cnt1 = new Baby();
        Baby cnt2 = new Baby();
        Baby cnt3 = new Baby();
}

출력
Baby 생성: 1
Baby 생성: 2
Baby 생성: 3
class Baby {
	static int instNum = 0; //static : 따로 먼저 메모리에 올림
	//	공유변수 = 정적변수 = 클래스 변수
	
	InstCnt(){
		instNum++;
		System.out.println("Baby " + instNum);
	}
}

0개의 댓글