2023-01-18 수 / JAVA

권혁현·2023년 1월 18일
0

Java

목록 보기
17/44
post-thumbnail

1.아래가 컴파일 되도록 하시오.

		TV tv = new TV(10,"blue");
		TV tv2 = new TV(20,"blue");
		
		System.out.println(tv.getSize() + "인치 입니다");
		System.out.println(tv.getColor() + "색 입니다");
		
		tv.show(); // 10 인치 bule 색 입니다.		
		tv.compareSize(tv); //  내가 작습니다.		
		tv2.compareSize(tv); // 내가 큽니다.

class TV {
	int size;
	String color;


	TV(int size, String color) {
		this.size = size;
		this.color = color;
	}

	int getSize() {
		return size;
	}

	String getColor() {
		return color;
	}

	void show() {
		System.out.println(this.size + "인치 " + this.color + "색 입니다.");
	}
	
	void compareSize(TV check) {
		if(this.size > check.size) {
			System.out.println("내가 큽니다.");
		}
		else if(this.size < check.size) {
			System.out.println("내가 작습니다.");
		}
		else {
			System.out.println("나랑 똑같습니다.");
		}
	}
}

2.this 생성자에 대하여 설명하시오.

  • 인스턴스가 바로 자기 자신을 참조하는 데 사용하는 변수
    이러한 this 참조 변수는 해당 인스턴스의 주소를 가리키고 있다.

3.this의 용도는?

  • 클래스 안에 함수 생성시 파라미터에 선언하는 변수명과 클래스에 선언된 변수명을 똑같이 하고, this를 사용해서 같은 변수명 중 인스턴스 자기 자신을 참조하는 데 사용

4.정보은닉에 대하여 예습하시오.

  • 객체 지향에서 정보 은닉(data hiding)이란,
    사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념
    그렇게 함으로써 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용할 수 있게 됨

1. private

  • 외부에 공개되지 않으며, 외부에서는 직접 접근할 수 없다.

2. public

  • 외부로 공개되며, 해당 객체를 사용하는 프로그램 어디에서나 직접 접근할 수 있다.

3. default

  • 접근 제어의 기본값으로 default 접근 제어를 별도로 명시하고 있다.

4. protected

  • 부모 클래스에 대해서는 public 멤버처럼 취급되며, 외부에서는 private 멤버처럼 취급된다.

5. 1번에서 tv.compareSize(tv); 에 대하여, 메모리 그림을 그리시오.

0개의 댓글