좋은 설계는 낮은 응집도와 높은 결합도를 구성하는 것이다 (o,x)
(X) 높은 응집도와 낮은 결합도여야 함
객체지향 기법에서 캡슐화에 대한 설명으로 틀린 것은?
1) 캡슐화를 하면 객체 간의 결합도가 높아진다.
2) 캡슐화된 객체들은 재사용이 용이하다.
3) 프로그램 변경에 대한 오류의 파급 효과가 적다.
4) 인터페이스가 단순해진다.
캡슐화는 객체의 ( ) 와 ( ) 을 높임으로써 객체의 ( )를 지향한다. 빈칸을 채워주세요.
응집도, 독립성, 모듈화
정보은닉을 위해서 객체에 있는 데이터와 함수들을 모두 은닉시켜야 한다 (o/x), 그 이유는?
(x) 외부로부터의 접근을 막기 위해 숨기는 작업을 진행하고, 함수까지 은닉하게 되면 데이터를 사용할 수 없기 때문
정보 은닉의 종류 중 캡슐화는 객체의 ( ) 및 ( )를 은닉하는 것이다.
멤버변수(속성), 메서드(행위)
멤버변수의 경우 보통 ( )접근제어자를 사용하여 외부로부터의 직접적인 접근을 막고 ( )를 만들어 사용함으로써 내부 데이터에 제한적 접근을 할 수 있게 한다.
private, public(getter/setter)
class Special{
private Special special;
Special(){
}
public Special getInstance(){
if(special == null){
return new Special();
}
return special;
}
}
7-1. Special 클래스는 한 번만 생성하게끔 개발하려고 한다. 이러한 작업을 설계하는 디자인 패턴은?
SingleTon
7-2. 위 코드는 해당 디자인 패턴이 미적용된 상태이다. 수정해야할 줄번호와 수정된 코드를 쓰시오
3번 - private static Special special;
5번 - private Special(){}
9번 - public static getInstance(){ / 내용 / }
public class Person {
private String name;
}
8-1. Person 클래스의 name을 읽기전용으로 설계한다고 했을 때 작성해야 할 메서드 이름과 접근지정자를 작성하시오
public getName
8-2. Person 클래스의 name을 쓰기전용으로 설계한다고 했을 때 작성해야 할 메서드 이름과 접근지정자를 작성하시오
public setName