📢주어진 값📢
public class ShowError {
public static void main(String[] args) {
ShowError s = new ShowError();
}
}
🧤정답🧤
O - 객체를 생성하는 조건과 일치 (클래스 이름 변수 = new 클래스이름();)
6. ___은 대입하는 객체에 따라서 메서드가 다르게 동작하도록 구현하는 기술이다. 객체 지향 프로그래밍의 특징 중 하나이다.
🧤정답🧤
다형성 - 객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성)
7. 다음 코드에서 오류를 찾아 수정하라.
📢주어진 값📢
class Util {
public double findPi() {
return 3.14;
}
}
public class MathTest {
public static void main(String[] args) {
Util n;
System.out.println(u.findPi());
}
}
🧤정답🧤
class Util {
public double findPi() {
return 3.14;
}
}
public class MathTest {
public static void main(String[] args) {
// Util n; -> 객체 생성 부분의 구성을 잘못 설정하여 오류가 발생한 것으로 아래와 같이 변경.
Util u = new Util();
System.out.println(u.findPi());
}
}
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);
}
}
🧤정답🧤
s.i = 3, o.i = 1
// new 연산자를 통할 때 마다 인스턴스 변수는 새로 생성되는 반면에 정적 변수는 새로 생성되지 않는다.
🧤정답🧤
public class Student {
String name;
Student(String name) {
this.name = name;
}
Student() {
this("no name"); // this를 사용할 때에는 항상 맨 위에 사용해야한다.
System.out.println("no argument");
}
}
10. 다음 코드에서 오류를 찾아 수정하라.
📢주어진 값📢
public class FooTest {
public static void main(String[] args) {
show();
}
public void show() {
System.out.println("show");
}
}
🧤정답🧤
public class Student {
public static void main(String[] args) {
show();
}
public static void show() { // static을 선언해줘야지 객체를 생성하지 않아도 사용가능
System.out.println("show");
}
}