티스토리 뷰
※대학생이 공부하다가 작성한 글입니다※
※정답이 아닐 수도 있습니다※
⊙ 문제 1
다음 중 틀린 것은?
- 필드는 초기화하지 않아도 된다.
- 클래스에 생성자가 없어도 된다.
- 생성자는 일반적으로 필드를 초기화한다.
- 필드는 생성자보다 먼저 선언해야 한다.
⊙ 정답
4번 필드는 생성자보다 먼저 선언해야 한다.
※해설: 필드 선언은 클래스 어디서든 존재할 수 있다. 먼저 선언하든 나중에 선언하든 상관없다.
⊙ 문제 2
클래스의 구성 요소와 가장 거리가 먼 것은?
- 필드
- 지역 변수
- 메서드
- 생성자
⊙ 정답
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)을 추가해주어 순서에 상관없이 실행할 수 있도록 변경해줘야 한다.
좋아요는 로그인하지 않아도 누를 수 있습니다!
'쉽게 배우는 자바 프로그래밍 > 연습문제' 카테고리의 다른 글
[쉽게 배우는 자바 프로그래밍] 6장 연습 문제(상속) - JAVA[자바] (8) | 2021.06.08 |
---|---|
[쉽게 배우는 자바 프로그래밍] 5장 연습 문제(문자열, 배열, 디버깅) - JAVA[자바] (2) | 2021.06.08 |
[쉽게 배우는 자바 프로그래밍] 3장 연습 문제(제어문과 메서드) - JAVA[자바] (2) | 2021.06.07 |
[쉽게 배우는 자바 프로그래밍] 2장 연습 문제(자바 프로그램 구조와 기초 문법 익히기) - JAVA[자바] (11) | 2021.06.07 |
[쉽게 배우는 자바 프로그래밍] 1장 연습 문제(자바 시작하기) - JAVA[자바] (4) | 2021.06.07 |
- Total
- Today
- Yesterday
- 알고리즘
- 운영체제
- 구현
- 쉽게 배우는 자바 프로그래밍
- 그리디
- 풀이
- 정렬
- 프로그래머스
- py
- C++
- 쉽게배우는자바프로그래밍
- 쉽게배우는
- 연습문제
- 우종정
- OS
- 정리
- 백준
- java
- BFS
- Web
- 자바
- JS
- 답
- CPP
- 파이썬
- Python
- 정답
- 해답
- 자바스크립트
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |