소프트웨어공학 44

Java_소스코드_싱글톤패턴, static 메소드, Singleton

▣ Java_소스코드_싱글톤패턴, static 메소드, Singleton 2020년 39번 정답 : 2번 싱글톤 패턴의 목적은 단 하나의 인스턴스를 만드는 것임. 소스코드에는 인스턴스를 만들 때 static메소드를 사용함 SingletonExam se = SingletonExam.getInstance(); SingletonExam클래스는 싱글톤 클래스임 SingetonExam가 처음 생성되었으므로 생성자인 SingletonExam()호출됨 (여기서 1이 증가됨) 그 다음 getInstance()메소드가 호출됨 (여기서 1이 증가됨) se.increaseCounter(); increaseCounter()메소드가 호출됨(여기서 1이 증가됨) 싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값..

Java_소스코드_인터페이스 구현, this 연산자, 매개변수 전달, lamp, implements, setCommand

▣ Java_소스코드_인터페이스 구현, this 연산자, 매개변수 전달, lamp, implements, setCommand 2017년 34번 정답 : 2번, 3번 2)번 위 코드에서 LampOnCommand 메소드의 매개변수로 thelamp로 전달되므로, 매개변수가 아닌 LampOnCommnad의 속성인 theLamp를 나타내기 위해서는 this.theLamp로 명시해야 함 3)번의 경우 이의 신청을 통해 "setCommand(theCommand);"와 같이 세미콜론까지 지문에 있어야 오류가 아니나 지문상의 보기만으로는 오류이므로 이의신청이 받아 들여짐 theCommand를 인자로 받아 다시 setCommand를 호출하고 있음 1) Command는 interface임. LampOnCommnad는 인터페..

Java_소스코드_객체지향개념, 상속관계, 업캐스팅, 다운캐스팅

▣ Java_소스코드_객체지향개념, 상속관계, 업캐스팅, 다운캐스팅 2014년 33번 정답 : 1번, 4번 특정개체가 하위 클래스의 형에서 상위 클래스의 형으로 캐스팅 되는 것을 업캐스팅이라 하며 "Animal ani_1 = new Dog( );"처럼 부모의 클래스 타입에 자식의 객체를 생성해서 캐스팅하는 것을 말함 업캐스팅을 했을 시 중요한 점은 부모가 가진 메소드 또는 자식이 오버라이딩(재정의)한 메소드에 한에서는 접근이 가능하지만 자식만이 가지고 있는 메소드를 호출할 경우 부모 클래스에는 정의된 부분이 없으므로 실행 오류가 발생함 상속관계에 있는 클래스를 부모타입에 자식타입의 객체를 생성하여 업캐스팅하는 것은 컴파일 오류가 생기지 않음 업캐스팅된 객체의 메소드를 호출 시 부모가 가지고 있지 않은 메..

Java 언어_레이아웃, GUI Layout Manager 배치관리자

▣ Java 언어_레이아웃, GUI Layout Manager 배치관리자 - 컨테이너 안에 추가되는 컴포넌트의 위치와 크기를 자동적으로 결정 ■ FlowLayout - 컴포넌트들을 왼쪽에서 오른쪽으로 배치 - JPanel과 Applet(awt.애플릿)의 디폴트 배치 관리자 - 공간이 부족하면, 아랫줄에 추가됨 ■ BorderLayout - 컴포넌트들이 상(North), 하(South), 좌(East), 우(West) 그리고 중간(Center)에 배치 - JFrame과 JApplet(swing.애플릿), 대화 상자와 같은 최상위 컨테이너의 디폴트 배치 관리자 - 컴포넌트의 영역을 지정하지 않을 경우 자동으로 중간 영역에 배치됨 - 같은 위치에 컴포넌트들이 추가되면 뒤 컴포넌트에 가려서 앞의 컴포넌트가 보이..

소프트웨어 개발 비용_반비례 관계, 관련 업무지식 및 경험

▣ 소프트웨어 개발 비용_반비례 관계, 관련 업무지식 및 경험 2013년 38번 정답 : 1번 Y축을 개발 비용이라고 했으므로 X축은 개발비용과 반비례 관계에 있는 것을 선택해야 함 업무지식 및 경험이 많을 수록 개발 비용이 적어지게 됨 투입인력, 신뢰도, 시스템의 규모는 개발비용과 정비례의 관계가 있음

Java_소스코드_assert(), FALSE일 때 실행

▣ Java_소스코드_assert(), FALSE일 때 실행 2013년 29번 정답 : 3번, 4번 assert()함수는 인자가 FALSE일 때 실행됨 실행되면 프로그램은 해당 assert()함수에서 종료되고 사용자(개발자)에게 종료 정보를 출력함 인자값이 -10이니 assert( value > 0)이 FALSE가 되기 때문에, assert()가 실행되고 assert()문에서 종료됨 따라서 출력 값은 최초 System.out.print(value+ ":"); 으로 '-10:'이 됨 * 본 문제는 이의 제기가 있어서 3번도 정답처리 되었음 assert()함수는 해당 option이 켜져야 동작됨 만약 옵션이 켜지지 않았다면 assert()함수는 무시되므로 3번 처럼 '-10:10'이 출력됨

C언어_프로그래밍 오류, 중복프리선언

▣ 프로그래밍 언어_프로그래밍 오류, 중복프리선언 2013년 26번 정답 : 2번 bb은 선언시 자동으로 0으로 초기화되기 때문에 aa변수가 중복 해제되어 '중복 프리 선언'오류 발생 * 컴파일러에 따라 정수형 변수 선언시 0으로 초기화 되지 않는 경우도 있을 수 있기 때문에 이슈존재 정적변수로 선언했으면 0으로 초기화 되는 것이 맞으나, 정적변수로 선언한 것이 아니라 로컬변수로 선언