1. Previously java was known as ________.

A. Java only

B. apple

C. jdk

D. oak


2. Java is developed by___________

A. Microsoft

B. Oracle

C. Sun

D. Google


3. java is a _____________language.?

A. object oriented

B. procedural oriented

C. system oriented

D. platform oriented


4. Is java 100% object oriented language?

A. yes

B. no

C. can’t say


5. Java is developed by__________

A. Patrick Naughton

B. James Gosling

C. both a and b

D. none of these


6. What do you mean by JRE?

A. java runtime environment

B. java runtime exception

C. java runtime execution

D. none of these


7.In order to run Java program, we need to install __________application program.

A. jdk

B. sdk

C. dbk

D. all of the above

 

8. What is JDK?

A. java development kit

B. java deployment kit

C. java demo kit

D. java distributed kit


9. What is the extension of the java program?

A. java

B. class

C. doc

D. txt


10. Java _________the program first and then __________it.

1) compile

2) interpret

3) assemble

4) debug


A. 1 and 2

B. 2 and 1

C. 3 and 4

D. 1 and 4


11. C/C++ 프로그램에서는 대소문자가 구별된다. 자바 프로그램은 어떠한가?


12. 클래스 이름은 대문자로 시작하며  메소드 이름은 소문자로 시작하는 관례가 있다.  반드시 지켜야 하는가?


13. 클래스 이름 정할때 반듯이 지켜야할 규칙?


14. 자바에서 제공하는 기본형 데이터타입을 모두 나열하라. 


15. 2진수 "1011 1101"을 16진수,8진수, 10진수로 표현하라.       


16. 자바 언어에서 char형은 부호 없는 정수로 취급 될 수 있다. 이때 최대값은 얼마가 되는가?


17. double 형의 값을 float 형의 변수에 대입하려는 경우, 에러가 발생한다. 발생하는 이유와 수행시키는 방법은 무엇인가? 

     보기) double d = 10.55555;

             float f =d; 


18. 상수의 선언을 위해 필요한 자바 명령어는 무엇인가? 


19. 다음 문장을 수행한 후 i와 n이 가지는 값은 얼마인가? 

     int i = 10; 

     int n = i++%5;         


20. 아래와 같은 명령행으로 프로그램을 실행하였을 때 결과는 무엇인가? 

     C:\> java TestJava 123


     public class TestJava {

           public static void main(String args[]) {

                  System.out.println(args[1]);

          }

    }


21. 다음 프로그램의 컴파일 결과를 예상하라. 

     class Test {

              static int a = 1;

              public static void main(String[] args) {

                        int a;

                        System.out.println(a);

              }

     }


22. 다음 프로그램에서 메소드 add()의 기능은 무엇인가? 출력 결과는 무엇인가? 

    class Test {

         public static void main(String args[]) {

          int [] x={0, '0', 'A', 'a'};

            System.out.println(add(x));

         }

         public static int add(int arr[]) {

            int x = -1;

            for ( int i = 0; i < arr.length; i ++)

                  x= x < arr[i] ? arr[i] : x;

            return x;

        }  

    }


23. 다음의 출력 결과를 생성하는 자바 프로그램을 반복문을 사용하여 작성하라.

     *

     * *

     * * *

     * * * *

     * * * * *


24. 다음 프로그램의 문제점을 지적하라. 

   final class First {

          private int a = 1;

          int b = 2;

   }

   class Second extends First {

         public void method() {

               System.out.println(a + b) ;

         }

   }



25. 다음 프로그램은 컴파일되지 않는다. 이유는 무엇인가?

   public class Fred {

       public int x = 0;

       public fred (int x) {

           this.x = x;

       }

   }


26. 다음 프로그램의 출력 결과가 무엇인지 설명하라. 

   class Test {

       String s;

       public static void main(String[] args) {

           Test t = new Test(); 

           t.go();

       }

       void Test() {  

            s = "constructor";

       }

       void go() { 

            System.out.println(s);

       }

  }   


27. 다음 프로그램의 문제점은 무엇인가?

   protected class Fred {

          private int x = 0;

          private Fred (int xval) {

               x=xval;

          }

   }


28. 다음 프로그램은 컴파일되지 않는다. 이유는 무엇인가?

   public class Test {

       int x; 

       public static void main (String args[]) {

           x = 8;

       }

   }


29. 다음 프로그램의 실행 결과는 무엇인가? 

   class Test {

         int x;

         public Test(int x) {

this.x = x; 

}

   }

   public class Example {

         public static void main(String args[]) {

                Test x1 = new Test(10);

Test x2 = new Test(10);

                method(x1, x2);

                System.out.println(x1.x + ", " + x2.x);

         }

         public static void method(Test v1, Test v2) {

                v2.x = 20;

                v1=v2; 

         }

   }


30. 생성자에서 자신의 생성자를 호출하는 명령어와 조상클래스의 생성자를 호출하는 명령어와 주의점을 쓰시오.


31. 아래 프로그램에서 modify 메소드는 static 데이터 a의 값을, 

    매개변수로 전달되는 값만큼 증가시킨다. modify() 메서드를 완성하고 출력 결과를 설명하라. 

    public class Test {

         private static int a=2;

         public static void main(String args[]) {

                modify(a);

                System.out.println(a);

         }

         public static void modify(int a) {

//작성하시오.

         }

    }


32. 다음 프로그램의 실행 결과를 예상하라.

    class Super {

         int index = 5;

         public void printVal() {

              System.out.println("Super");

         }

    }

    class Sub extends Super {

          int index = 2;

         public void printVal() {

               System.out.println("Sub");

         }

    }

    public class Runner {

         public static void main(String[] args) {

                 Super sup=new Sub();

                 System.out.println(sup.index + " ");

                 sup.printVal();

         }

   }


33. 다음 프로그램의 실행 결과를 적으시오. (만일 실행할 수 없다면 그 이유를 적으시오.)

public class Poliymorphism {

private void f() {

System.out.println("base class");

}

public static void main(String[] argv) {

Poliymorphism po = new Derived();

po.f();

}

}

class Derived extends Poliymorphism {

public void f() {

System.out.println("sub class");

}

}


34. 아래 프로그램 출력 결과를 적으시오.

public class OperatorTest {

public static void main(String[] argv) {

int a = 10;

boolean b = false;

if ((b == true) || (a++ == 10)) {

System.out.println("Equal " + a);

} else {

System.out.println("Not equal! " + a);

}

}

}


35. 자바 데이터 타입에 대한 설명 중 틀린 것을 고르시오.

A. String 타입은 객체형이다.

B. char 타입 변수는 2 byte의 메모리 공간을 사용한다.

C. char 타입 변수 선언 시 기본 값을 지정하지 않으면 ‘\u00000’ 값이 설정된다.

D. boolean 타입은 1 byte의 메모리 공간을 사용한다.

E. int 타입 변수는 4 byte의 메모리 공간을 사용한다.


36. 다음 중 생성자에 대한 설명으로 옳지 않은 것은? 

A. 모든 생성자의 이름은 클래스의 이름과 동일하다. 

B. 생성자는 객체를 생성하기 위한 것이다. 

C. 클래스에는 기본 생성자가 반드시 하나 이상 있어야 한다. 

D. 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다. 

E. 생성자는 오버로딩 할 수 없다. 


37. 다음 중 오버로딩 조건으로 옳지 않은 것은? 

A. 메서드의 이름이 같아야 한다. 

B. 매개변수의 개수나 타입이 달라야 한다. 

C. 리턴타입이 달라야 한다. 

D. 매개변수의 이름이 달라야 한다. 


38. 다음 중 오버라이딩 조건으로 옳지 않은 것은? 

A. 조상의 메서드와 이름이 같아야 한다. 

B. 매개변수의 수와 타입,리턴타입이 모두 같아야 한다. 

C. 접근 제어자는 조상의 메서드보다 좁은 범위로만 변경할 수 있다. 

D. 조상의 메서드보다 더 많은 수의 예외를 선언할 수 있다. 


39. 다음 중 아래 add메서드를 잘못 오버로딩 한 것은? 

long add(int a, int b) { return a+b;}


A. long add(int x, int y) { return x+y;} 

B. long add(long a, long b) { return a+b;} 

C. int add(byte a, byte b) { return a+b;} 

D. int add(long a, int b) { return (int)(a+b);} 


40. 다음 중 초기화에 대한 설명으로 옳지 않은 것은? 

A. String 멤버변수는 “”로 자동 초기화된다. 

B. 지역변수는 반드시 초기화해야 한다. 

C. 생성자보다 초기화 블럭이 먼저 수행된다. 

D. 인스턴스변수보다 클래스변수가 먼저 초기화된다. 


41. 다음 중 지역변수에 대한 설명으로 옳지 않은 것은? 

A. 자동 초기화되므로 별도의 초기화가 필요없다. 

B. 지역변수가 선언된 메서드가 종료되면 지역변수도 함께 소멸된다. 

C. 매서드의 매개변수로 선언된 변수도 지역변수이다. 

D. 스택(stack)영역에 생성되며 가비지 컬렉터에 의해 소멸된다. 


42. 다음 중 접근 제어자에 대한 설명으로 옳지 않은 것은? 

A. public은 접근제한이 전혀 없는 접근 제어자이다. 

B. (default)가 붙으면, 같은 패키지 내에서만 접근이 가능하다. 

C. 지역변수에도 접근 제어자를 사용할 수 있다. 

D. protected가 붙으면, 같은 패키지 내에서 또는 다른 패키지의 자손 클래스에서 접근이 가능하다.


43. 다음 설명 중 맞는 것을 2개 고르시오. 

A. 클래스에서 인터페이스는 단일 implements만 가능하다. 

B. 같은 이름의 메소드를 여러개 만드는 것을 오버로딩이라한다. 

C. 상위 클래스의 메소드를 하위 클래스에서 재정의 하는 것을 오버라이딩이라 한다. 

D. 클래스의 상속시 생성자도 상속이 된다. 


44. 자바의 상속 특징 중에서 틀린 것은? 

A. 자바에서는 클래스의 다중 상속을 지원하지 않는다. 

B. 자바에서는 상속의 횟수에 제한이 없다. 

C. 자바에서 모든 클래스의 최상위 슈퍼 클래스는 java.lang.System 클래스이다. 

D. 자바에서 상속을 표현하는 키워드는 extends이다. 


45. 다음 프로그램의 실행결과로 올바른 것은? 

public class AutoBoxing {

public static void main(String[] argv) {

int idx = 0;

char[] charArray = new char[10];

charArray[idx++] = '0';

charArray[idx++] = 65;

charArray[idx++] = 'A' + 1;

System.out.println( charArray );

}

}


A. 컴파일 오류가 발생한다.

B. 실행 시 오류가 발생한다.

C. 0AB

D. 065B


46 다음 설명 중 틀린 것을 고르시오. 

A. 추상 클래스(abstract class)는 하나 이상의 추상 메소드(abstract method)를 포함하고 있어야 한다.

B. 추상 클래스는 객체를 생성할 수 없다.

C. protected 메소드는 모든 하위 클래스에서 호출할 수 있다.

D. 인터페이스를 구현한 클래스는 인터페이스에 포함된 모든 메소드를 구현하지 않아도 된다.

E. 자바의 모든 클래스는 Object 클래스의 자식 클래스이다.

F. A 클래스의 b 메소드를 하위 클래스 C에서 오버로딩한 경우, 하위 C 클래스에서 상위 클래스의 b 메소드를 호출할 수 있다.


47. 인스턴스의 변수와 매개변수나 메소드 내에서 생성한 변수와 구분하기 위해서 사용하는 키워드는 무엇인가요?


48. 클래스와 객체의 차이점을 서술 하시오.


49. 메소드 Overriding과 Overloading을 정확하게 서술하시오.


50. Single Instance 클래스 구조를 작성하시오.


51. 1~100까지의 합과 곱을 출력하는 코드를 작성하시오 


52. 객체지향 4가지 특징에대해 각각 서술하시오


'JAVA > ETC' 카테고리의 다른 글

오류 | The public type [class name] must be defined in its own file  (0) 2018.01.30
이클립스 단축키  (0) 2017.12.08
용어 정리  (0) 2017.12.07