[문제] 다음은 static에 대한 설명이다. 틀린 것은?
- ① 멤버 변수와 메서드에 static을 지정할 수 있다.
- ② static 형 변수는 클래스 로딩시에 메모리가 할당되어 프로그램 종료까지 그 영역이 고정된다.
- ③ static 메서드 안에 선언되는 변수들은 모두 static 변수가 된다.
- ④ static 메서드 안에서는 this 나 super 를 사용할 수 없다.
[문제] 다음 중 클래스를 잘 못 선언한 것은 어느 것인가?
- ① protected class MyClass{..}
- ② public class MyClass{..}
- ③ final class MyClass{..}
- ④ abstrac class MyClass{..}
[문제] 다음 소스 코드의 실행 결과로 맞는 것을 고르세요.
public class Test { public static void main(String[] args) { int i=0; int j=10; do { System.out.print(i); if(i++>--j){ break; } } while(true); } }
- ① 012345
- ② 12345
- ③ 0123456
- ④ 123456
[문제] 자바에서 메소드 오버로딩에 대한 설명으로 틀린 것은?
- ① 동일 클래스 내에서 발생한다.
- ② 매개변수의 형이나 개수가 동일해야 한다.
- ③ 다형성을 지원하기 위한 장치이다.
- ④ 메소드 이름이 동일해야 한다.
[문제] 다음 프로그램의 실행 결과로 알맞은 것은?
public class Test { public static void modify(String s) { s += "Java!"; } public static void main(String[] args) { String s = new String("Hello"); modify(s); System.out.println(s); } }
- ① Hello
- ② Hello Java!
- ③ 컴파일 에러
- ④ 실행중 예외 발생
[문제] 다음의 코드 1)과 코드 2)는 동일한 수행 결과를 나타낸다. 성능면에서 우수한 것과 그 이유는?
// 코드 1) String a="Hello"; String a2=a+"World"; System.out.println(a2); // 코드 2) StringBuffer a=new StringBuffer(); a.append("Hello"); a.append("World"); System.out.println(a.toString());
- ① 코드 1), 소스코드가 1줄 적다
- ② 코드 2), Avoiding Garbage Collection (임시 Object 생성 금지)
- ③ 코드 1), 코드 2) 동일한 성능을 갖는다
- ④ 코드 1), +연산을 사용하였으므로
[문제] 다음 코드의 수행 결과는?
public class StringTest { public static void main(String[] args) { System.out.println("Exception 테스트 시작"); try { String test = null; System.out.println("문자열 길이 = " + test.length()); } catch(NullPointerException ne) { System.out.println("NullPointException"); } catch(Exception e) { System.out.println("Exception"); } finally { System.out.println("finally"); } System.out.println("Exception 테스트 종료"); } }
- ① Exception 테스트 시작
NullPointException
Exception 테스트 종료 - ② Exception 테스트 시작
NullPointException
Exception
finally
Exception 테스트 종료 - ③ Exception 테스트 시작
NullPointException
finally
Exception 테스트 종료 - ④ Exception 테스트 시작
finally
Exception 테스트 종료
[문제] 다음과 같은 코드가 주어졌을때 str을 float로 올바르게 변환한 것은?
String str = "3.12345";
- ① float fval = new Float(str);
- ② float value = Float.parseFloat(str);
- ③ float value = Float.floatValue(str);
- ④ float value = (new Float()).parseFloat(str);
[문제] 다음 주어진 코드의 실행결과는 무엇인가?
int n = Integer.parseInt("1234five"); System.out.println("n = " + n);
- ① n = 1234;
- ② n = 12345
- ③ n = NaN
- ④ 실행중 예외 발생
[문제] 타입 캐스팅의 widening conversion 순서가 아닌것은?
- ① byte -> short
- ② double -> float
- ③ char -> int
- ④ short -> int
[문제] Java.lang 패키지는 자바 프로그램에서 ( )문을 사용하여 포함시키지 않아도 자동적으로 포함되는 패키지이다. 이 패키지는 자바 프로그램의 기본이 되는 클래스들과 인터페이스들을 제공하고 있어 자바 프로그램에서 많이 사용한다.
- ① extends
- ② package
- ③ import
- ④ class
[문제] Thread 클래스를 상속받아 Thread를 만들기 위한 과정에 대한 순서가 옳은 것은?
① Thread 클래스를 상속받은 클래스를 선언한다.
② main() 메소드에서 Thread 를래스를 상속받은 클래스의 객체를 생성한다.
③ Thread 클래스의 추상 메소드인 run() 메소드를 재정의 한다
④ 생성된 객체를 사용하여 start() 메소드를 호출한다.
② main() 메소드에서 Thread 를래스를 상속받은 클래스의 객체를 생성한다.
③ Thread 클래스의 추상 메소드인 run() 메소드를 재정의 한다
④ 생성된 객체를 사용하여 start() 메소드를 호출한다.
- ① ① → ② → ③ → ④
- ② ② → ① → ③ → ④
- ③ ② → ① → ④ → ③
- ④ ① → ③ → ② → ④