level up 과정 [JAVA]

객관식(1)

[문제] 다음은 static에 대한 설명이다. 틀린 것은?

  1. ① 멤버 변수와 메서드에 static을 지정할 수 있다.
  2. ② static 형 변수는 클래스 로딩시에 메모리가 할당되어 프로그램 종료까지 그 영역이 고정된다.
  3. ③ static 메서드 안에 선언되는 변수들은 모두 static 변수가 된다.
  4. ④ static 메서드 안에서는 this 나 super 를 사용할 수 없다.

[문제] 다음 중 클래스를 잘 못 선언한 것은 어느 것인가?

  1. ① protected class MyClass{..}
  2. ② public class MyClass{..}
  3. ③ final class MyClass{..}
  4. ④ 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);
    }
}
  1. ① 012345
  2. ② 12345
  3. ③ 0123456
  4. ④ 123456

[문제] 자바에서 메소드 오버로딩에 대한 설명으로 틀린 것은?

  1. ① 동일 클래스 내에서 발생한다.
  2. ② 매개변수의 형이나 개수가 동일해야 한다.
  3. ③ 다형성을 지원하기 위한 장치이다.
  4. ④ 메소드 이름이 동일해야 한다.

[문제] 다음 프로그램의 실행 결과로 알맞은 것은?

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);
    }
}
  1. ① Hello
  2. ② Hello Java!
  3. ③ 컴파일 에러
  4. ④ 실행중 예외 발생

[문제] 다음의 코드 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), 소스코드가 1줄 적다
  2. ② 코드 2), Avoiding Garbage Collection (임시 Object 생성 금지)
  3. ③ 코드 1), 코드 2) 동일한 성능을 갖는다
  4. ④ 코드 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() 메소드를 호출한다.
  • ① ① → ② → ③ → ④
  • ② ② → ① → ③ → ④
  • ③ ② → ① → ④ → ③
  • ④ ① → ③ → ② → ④

 

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기