반응형
순전히 공부 목적으로 작성된 게시글이며 이익을 위한 게시글이 아닙니다.
그러므로 혹여나 저작권과 관련된 문제가 있다면 댓글로 남겨주세요!
바로 삭제하겠습니다. 감사합니다.
2012학년도 1학기 기말시험 기출문제 [Java 프로그래밍]
36. Java 언어의 특징 중에 다음 내용이 의미하는 것은? (내용은 기출문제 참고)
① 멀티 스레딩의 지원 |
② 동적인 클래스 로딩 |
③ 플랫폼에 독립적 |
④ 예외 처리 기능의 지원 |
- 플랫폼에 독립적 : 'java 플랫폼'이라 부르는 별도의 실행환경이 있기 때문에 운영체제와 무관하게 Java 플랫폼만 설치되어 있으면 어디에서든 실행이 가능하다.
- 동적인 클래스 로딩 : 실행시간에 동적으로 필요한 클래스를 로드할 수 있다.
- 다중 스레드(멀티 스레딩) : 하나의 프로그램에서 여러 스레드가 실행될 수 있다.
- 예외 처리 기능의 지원 : 예외처리 기능을 통해 실행 중 발생하는 오류를 처리할 수 있다.
37. 상수를 선언할 때 사용되는 키워드는 무엇인가?
① const |
② final |
③ private |
④ static |
- private : 클래스 접근제한자 중 하나이다.
- static : 정적 필드를 선언할 때 사용하는 키워드이다.
38. 배열에 속한 원소들을 순서대로 처리할 때, 다음 밑줄 부분에 들어가야 할 내용은 무엇인가? (코드 기출문제 참고)
① int i = 0; i<numbers.length |
② int item : numbers |
③ int item : numbers[i] |
④ int i =0, item=numbers[0]; |
- 코드 for문 내 실행문에 배열 원소를 'item'으로 사용하는 걸 볼 수 있다. 그러므로 배열의 인덱스를 뜻하는 대괄호([])가 없어야되며 for-each문을 정확히 기재한 int item : numbres가 맞다.
- ①의 경우 일반 for문을 사용하므로 요소의 값을 꺼내올 때 'numbers[i]'로 꺼내와야하며 i의 증감값이 없으므로 틀리다.
- ③의 경우 for-each문을 사용하였지만 배열 이름 형식이 numbers[i]가 아닌 numbers여야 맞다.
- ④의 경우는 그냥 말도안되는 엉망진창이다.
39. 2차원 배열의 선언으로 올바른 것은 무엇인가?
① int[10][] multiArray; |
② int[10] multiArray[10]; |
③ int[][] multiArray={{1, 2}, {3, 4, 5}}; |
④ int[][] multiArray; multiArray={{1, 2}, {3, 4, 5}}; |
- 배열을 선언할 때 크기를 지정할 수 없다. 고로 1번과 2번은 틀렸다.
- 4번은 배열 선언 후 생성과정이 없으므로 틀렸다.
40. 다음 밑줄 부분에 들어가야 할 키워드는 무엇인가? (코드는 기출문제 참고)
① overrides |
② extend |
③ :: |
④ implements |
- 참고로 기출문제에는 4번이 존재하지 않는다.(내가 임의로 그냥 넣음)
- Movable 클래스가 interface이고 MovablePoint 클래스가 Movable 인터페이스를 구현하고 있으므로 implements 키워드를 사용하면 된다.
41. 프로그램을 실행할 때 출력되는 결과는? (코드는 기출문제 참고)
① do something | ② do development |
③ 1 | ④ 2 |
- 모든 번호가 정답이다. 아마 코드 4번째 줄의 'v5oid'라는 오타가 있어서 모든 문제를 정답처리 해준 게 아닌가 싶다.
- 오타를 무시하고 생각해보자면 2번이 맞는 답인 것 같다.(내 의견이므로 틀릴 수 있음)
- main 메소드 내에서 emp 객체를 생성했는데 그 자식 유형인 Developer 유형의 객체를 생성했다. 그러므로 emp.doJob()을 호출했을 때는 Employee 테이블이 아니라 Employee를 상속받은 Developer 클래스 내의 doJob() 메소드가 실행되어 결과적으로 'do_development'가 출력됐을 것이다.
42. 프로그램에 관한 설명이다. 잘못된 것은? (코드는 기출문제 참고)
① Employee는 추상 클래스이다. |
② Developer는 Employee의 자식 클래스이다. |
③ 자식 클래스에서 doJob()이 재정의 되었다. |
④ main()에서 상위 유형의 변수에 하위 유형의 객체가 대입되었다. |
- Employee 클래스가 추상 클래스이려면 abstract 예약어가 있었어야 한다.
- 3번의 경우는 정답이 아닌 거 같은데 왜 정답인지 모르겠다.. 예측하기로는 오타가 있던 부분이 부모 클래스의 doJob()부분이라 그런 거 같기도..?
43. 밑줄 부분에 공통으로 들어가야 할 용어는 무엇인가?(내용 기출문제 참고)
① 패키지 | ② 데이터베이스 |
③ 디렉토리 | ④ 포트 |
44. 다음 밑줄 부분에 들어가야 할 내용은 무엇인가?
① throw new IOException |
② throws |
③ try-catch |
④ throws IOException |
- 예외의 전파를 위해선 'throws xxxx(예외 이름)'을 기재한다.
45. 보기의 내용이 밑줄 부분에 들어간다고 할 때, 결과가 다른 하나는 무엇인가?(코드 기출문제 참고)
① str1.equals(str2) | ② str2.equals(str3) |
③ str1==str2 | ④ str2==str3 |
- ① equals() 메서드는 두 객체가 저장하고 있는 문자열의 내용이 같으면 true를 리턴한다. 그러므로 결과값은 true이다.
- ② 1번과 설명이 같다.
- ③ '=='의 경우 같은 객체(주소값)인지를 비교하는 것이므로 결과값은 true이다.
46. 밑줄 부분에 들어가야 할 내용은 무엇인가?(코드 기출문제 참고)
① extends Thread | ② void init() |
③ void run() | ④ void start() |
- Runnable 인터페이스에는 void run() 메서드 딱 하나만 선언되어있다.
47. 현재 실행 중인 스레드가 자발적으로 잠시 정지하고자 할 때 호출하는 Thread 클래스의 정적 메소드는 무엇인가?
① String getName() |
② static void yield() |
③ void join() |
④ void notify() |
- 일단 정적 메소드면 static 키워드가 들어가야하기 때문에 2번이 맞다.
- static void yield() : 현재 실행중인 this 스레드가 자발적으로 잠시 실행을 멈추고 Runnable상태로 들어간다. CPU를 다른 스레드에게 양보함.
48. File 클래스에 관한 설명으로 잘못된 것은?
① 파일이나 디렉토리의 경로를 표현한다. |
② 경로를 표현하는 방법은 운영체제에 따라 다를 수 있다. |
③ 파일에 대해 읽기와 쓰기 연산을 지원한다. |
④ 파일이나 디렉토리의 정보 조회/생성/삭제 기능 등을 제공한다. |
- File 클래스는 파일의 입출력을 제공하지 않는다.
- 파일로부터의 입력은 FileInputStream이나 FileReader 클래스를 사용하고 출력은 FileOutputStream이나 FileWriter 클래스를 사용한다.
49. 다음 문장의 기능을 정확히 설명한 것은 무엇인가? (코드 기출문제 참고)
① 다양한 출력 형식을 지원하는 표준 출력 스트림을 만든다. |
② 바이트 단위의 표준 입력 스트림을 문자 단위의 입력 스트림으로 변환해준다. |
③ 파일을 데이터 소스로 하여 문자 단위의 입력 스트림을 만든다. |
④ 처리 스트림을 감싸서 싱크 스트림을 만든다. |
- ① InputStreamReader는 입력 스트림이다.
- ② System.in은 InputStream 유형이라 바이트 스트림이므로 1바이트 단위로 입력을 처리한다. 그리고 InputStreamReader는 문자 단위의 입력 스트림이기 때문에 설명이 맞다.
- ③ File 객체가 없다.
- ④ 싱크 스트림은 기본 스트림(System.in이나 InputStreamRead)이다.
50. 다음 중 java.awt.Container 클래스의 자식 클래스인 것은?
① Color | ② Button |
③ BorderLayout | ④ Frame |
- Container 클래스에는 Window, Frame, FileDialog, Panel, ScrollPane 클래스 등이 있다.
51. List 클래스(또는 컴포넌트)에 관한 설명이 아닌 것은?
① 여러 항목을 제시하는 리스트박스이다. |
② 항목을 선택하거나 해제하면 ItemEvent가 발생한다. |
③ 제목이 달린 버튼을 표시한다. |
④ 항목을 다중 선택할 수 있다. |
- 3번의 경우는 Button 컴포넌트 설명이다.
52. 이벤트 또는 이벤트 처리에 관한 다음 설명 중 잘못된 것은?
① 컴포넌트마다 발생되는 이벤트의 종류는 같지 않다. |
② 이벤트를 발생시킨 컴포넌트를 이벤트 소스라 한다. |
③ 하나의 이벤트 리스너는 한 컴포넌트의 이벤트만을 처리할 수 있다. |
④ 이벤트 어댑터 클래스는 상응하는 이벤트 리스너를 구현한 추상 클래스이다. |
- 하나의 이벤트 리스너가 여러 컴포넌트에서 발생하는 이벤트들을 처리할 수도 있다.
53. 텍스트 편집에 사용되는 컴포넌트에서 텍스트에 변화가 생길 때 발생되는 이벤트는 무엇인가?
① ItemEvent | ② ActionEvent |
③ TextEvent | ④ TextArea |
- ① 체크박스, 체크 메뉴, 초이스 항목, 리스트 항목을 클릭했을 때 발생하는 이벤트이다.
- ② 버튼 클릭, 리스트 항목 더블 클릭, 메뉴 선택, 텍스트 필드에서 엔터키를 칠 때 발생하는 이벤트이다.
- ④ TextArea는 컴포넌트 중 하나이다.
54. 다음 설명에 해당하는 배치 관리자 클래스는 무엇인가?(설명 기출문제 참고)
① BorderLayout |
② FlowLayout |
③ CardLayout |
④ GridLayout |
55. 컨테이너 c가 자식 컴포넌트들을 수동으로 배치할 때, 먼저 수행해야 하는 메소드 호출은 무엇인가?
① c.setSize(width, height); |
② c.setVisible(true); |
③ c.getLayout(); |
④ c.setLayout(null); |
56. 애플릿이 시작될 때 수행되는 메소드를 순서대로 나열하면 무엇인가?
① 생성자 > init() > start() |
② init() > start() > 생성자 |
③ stop() > destroy() |
④ main() > 생성자 |
57. HTML 문서에 애플릿을 포함시킬 때 사용하는 태그는 무엇인가?
① <APPLICATION> | ② <JAVA> |
③ <CODE> | ④ <APPLET> |
58. 다음에서 rs의 유형에 해당하는 것은? (코드 기출문제 참고)
① Connection |
② ResultSet |
③ PreparedStatement |
④ Statement |
- executeQuery의 리턴 객체가 ResultSet이다.
59. 데이터베이스의 내용을 변경시키는 SQL 구문이 아닌 것은?
① select | ② insert |
③ update | ④ delete |
60. 다음 밑줄 부분에 공통으로 들어가는 단어는 무엇인가?
① 포트 | ② 소켓 |
③ IP 주소 | ④ TCP |
- 교재에 설명이 없다.
틀린 부분이 있거나 오타가 있으면 댓글로 알려주세요. 감사합니다.
- 출처 : 방송통신대학교 Java프로그래밍 기출문제
반응형