SpringBoot/Java

22.04.25 족보 13일차

함형우 2022. 4. 26. 21:50
728x90

1. 접근제한자 4가지 종류에 대하여 설명하시오.

public 는 모든 접근을 허용

protected는 상속되지 않은 패키지의 클래스를 차단

default 는 다른 패키지 클래스를 전부 차단

private는 모든 외부에 있는 클래스 접근을 차단

 


2. class 에서 붙일수 있는 접근 제한자 2개를 설명하고, 해당 접근제한자의 사용 목적은?

public은 모든 접근을 허용, default는 클래스 선언시 public 생략되면 자동으로 default 생성자가 만들어짐 접근 지정자는 객체를 보호하고 캡슐화하여 정보를 보호하기 위해 사용 접근 허락되지 않는 멤버에 접근하도록 코딩을 하면 컴파일 과정에서 오류 발생

 


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

지역 변수라는 것은 범위가 한정적이고, 그 범위 내에서만 작동하는 변수이다. 그렇기 때문에 함수가 있을 때만 생존 주기를 갖는 변수여서 접근제한자가 없음


4. static 변수의 다른 용어 3가지를 말해 보시오.

공유변수, 클래스변수, 정적(static) 변수


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

클래스명.변수명 으로 접근가능하다.

out.println


6. 클래스 변수의 활용의 예를 드시오.

math.PI 처럼 PI라는 상수를 공유하게 될때 static 변수로 만들어 사용한다.

 


7. 스태틱 함수에 인스턴스 변수가 올수 없는 이유는?

 

인스터스 변수는 객체가 생성될때,  메모리에 할당 되는데 staitc 함수는 함수가 생성될때 만들어지기 때문에 static 함수내에서는 메모리에 할당이 되어 있지 않은 인스턴스 변수를 참조할 수 없다..

 

 


8. 인스턴스 함수안에 스태틱 변수와 함수가 올수 있는 이유는?

 

 

instance의 부모클래스가 메모리에 올라갈 때 함께 올라가기 때문이다.

 



9. 아래의 프로그램을 작성 하시오.
 
노래 한 곡을 나타내는 Song 클래스를 작성하라. Song은 다음 필드로 구성된다.

- 노래의 제목을 나타내는 title
- 가수를 나타내는 artist
- 노래가 발표된 연도를 나타내는 year
- 국적을 나타내는 country

또한 Song 클래스에 다음 생성자와 메소드를 작성하라.
- 생성자 2개: 기본 생성자와 매개변수로 모든 필드를 초기화하는 생성자
- 노래 정보를 출력하는 show() 메소드
- main() 메소드에서는 1978년, 스웨덴 국적의 ABBA가 부른 "Dancing Queen"을 song 객체로 생성하고 show()를 이용하여 노래의 정보를 다음과 같이 출력하라. 1978년 스웨덴국적의 ABBA가 부른 Dancing Queen

 

class Song{
	String title;
	String artist;
	int year;
	String country;
	
	public Song(){}
	public Song(String title, String artist, int year, String country){
		this.title = title;
		this.artist = artist;
		this.year = year;
		this.country = country;
	}
	
	public void show() {
		System.out.println(year + "년 " + country + "국적의 " + artist + "가부른 " + title);
	}
}
728x90