개발/Java

[Java] Java 문법 예제 및 문제

hojak99 2015. 11. 3. 15:33

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);
    }
}

/*

    부모 클래스가 있을 경우에는 반드시 묵시적인 생성자가 있거나 명시적인 생성자가 없어야 한다. 즉 첫 번째 주석이 없어야 한다.
*/


반응형