티스토리 뷰

반응형

※대학생이 공부하다가 작성한 글입니다※

※정답이 아닐 수도 있습니다※


 

⊙ 문제 1

 

다음 중 틀린 것은?

  1. 필드는 초기화하지 않아도 된다.
  2. 클래스에 생성자가 없어도 된다.
  3. 생성자는 일반적으로 필드를 초기화한다.
  4. 필드는 생성자보다 먼저 선언해야 한다.

⊙ 정답

 

4번 필드는 생성자보다 먼저 선언해야 한다.

 

※해설: 필드 선언은 클래스 어디서든 존재할 수 있다. 먼저 선언하든 나중에 선언하든 상관없다.


⊙ 문제 2

 

클래스의 구성 요소와 가장 거리가 먼 것은?

 

  1. 필드
  2. 지역 변수
  3. 메서드
  4. 생성자

⊙ 정답

 

2번 지역 변수

 

※해설: 클래스는 필드와 메서드로 구성되고 객체를 생성하는 생성자를 가진다.


⊙ 문제 3

 

하나의 클래스는 하나의 객체 인스턴스만 생성할 수 있다.


⊙ 정답

 

X

 

※해설 : 하나의 클래스 안에 여러 개의 객체 인스턴스를 만들 수 있다.


⊙ 문제 4

 

정적 메서드는 객체를 생성하지 않고도 접근할 수 있다.

 


⊙ 정답

 

O

 

※해설 : 객체가 생기기 전에도 사용 가능하다.


⊙ 문제 5

 

다음 코드에는 문법적인 오류가 없다.(O/X)

 

public class ShowError {
    public static void main(String[] args) {
        ShowError s = new ShowError();
    }
}

⊙ 정답

 

O


⊙ 문제 6

 

___________은 대입하는 객체에 따라서 메서드가 다르게 동작하도록 구현하는 기술이다. 객체 지향 프로그래밍의 특징 중 하나다.


⊙ 정답

 

다형성


⊙ 문제 7

 

다음 코드에서 오류를 찾아 수정하시오.

 

class Util {
    public  double findPi() {
        return 3.14;
    }
}

public class MathTest {
    public static void main(String[] args) {
        Util u;
        System.out.println(u.findPi());
    }
}

⊙ 정답

 

class Util {
    public  double findPi() {
        return 3.14;
    }
}

public class MathTest {
    public static void main(String[] args) {
        Util u = new Util();
        System.out.println(u.findPi());
    }
}

 

※해설: 생성자는 new 연산자와 함께 사용하며, 객체를 생성할 때 호출한다.


⊙ 문제 8

 

다음 코드의 실행 결과는?

 

class Sklass {
    static  int i;
    Sklass() {
        i++;
    }
}

class Oklass {
    int i;
    Oklass() {
        i++;
    }
}


public class PrintTest {
    public static void main(String[] args) {
        new Sklass(); new Sklass(); Sklass s = new Sklass();
        new Oklass(); new Oklass(); Oklass o = new Oklass();
        System.out.printf("s.i = %d, o.i = %d",s.i,o.i);
    }
}

⊙ 정답

 

 


⊙ 문제 9

 

다음 코드에서 오류를 찾아 수정하고, 그 이유를 설명하시오.

 

public class Student {
    String name;

    Student(String name) {
        this.name = name;
    }

    Student() {

        System.out.println("no argument");
        this("no name");
    }
}

⊙ 정답

 

public class Student {
    String name;

    Student(String name) {
        this.name = name;
    }

    Student() {
		this("no name");
        System.out.println("no argument");
    }
}

 

※해설 : this()를 사용할 때는 반드시 생성자의 첫 행에 위치해야 한다.

 


⊙ 문제 10

 

다음 코드에서 오류를 찾아 수정하시오.

 

public class FooTest {
    public static void main(String[] args) {
        show();
    }
    public void show() {
        System.out.println("show");
    }
}

⊙ 정답

 

public class FooTest {
    public static void main(String[] args) {
        show();
    }
    public static void show() {
        System.out.println("show");
    }
}

 

※해설 : 앞에 정적(static)을 추가해주어 순서에 상관없이 실행할 수 있도록 변경해줘야 한다.

 

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함