1. 다음 프로그램의 출력 결과를 쓰고, 오류가 발생하면 그 원인을 기술하시오
class CC1{
int a = 100;
static String b = "파이팅 자바";
}
class CC2 extends CC1{
String b;
String x = "쉬운 자바";
}
public class InTest{
public static void main(String args[]){
CC2 o = new CC2();
System.out.println(o.x);
System.out.println(o.b);
System.out.println(o.a);
System.out.println(CC1.b);
}
}
/*
쉬운 자바
null
100
파이팅 자바
*/
2. 다음 프로그램은 오류가 발생하는데 이 위치와 원인을 기술하시오
class A{
private int i;
protected char c;
public int f;
private void testA(){
i = 3;
c = 'a';
f = 1;
}
}
class B extends A{
int j;
void testB(){
j = 6;
/* i = 9; */
c = 'k';
f = 89;
/* testA(); */
}
}
/*
testA 는 상속될 수 없다. 왜냐하면 private 이기 때문에 상속될 수 없다.
그리고 I = 9도 상속될 수 없다. private 이기 때문.
*/
3. 다음 프로그램의 출력 결과를 쓰시오. 오류가 발생하면 오류의 원인을 기술하시오.
class Person{
String name = "No name";
/* public Person(String nm){name = nm;} */
}
class Employee extends Person{
String empID = "0000";
/* public Employee(String id) { empID = id; } */
}
public class EmployeeTest{
public static void main(String args[]){
Employee e = new Employee("4321");
System.out.println(e.empID);
}
}
/*
부모 클래스가 있을 경우에는 반드시 묵시적인 생성자가 있거나 명시적인 생성자가 없어야 한다. 즉 첫 번째 주석이 없어야 한다.
*/
반응형