Java

class ClassA {
	classA(){ 
		System.out.print('A');
		this.prn();
	}
	void prn() {
		System.out.print('B');
	}
}

class ClassB extends ClassA {
	ClassB() {
		super();
		System.out.print('D');
	}
	void prn() {
		System.out.print('E');
	}
	void prn(int x){
		System.out.print(x);
	}
}

public class Test {
	public static void main(String[] args){
		int x = 7; 
		ClassB cal = new ClassB();
		cal.prn(x);
	}
}

상속

public abstract class Vehicle {
    String name;
    public abstract String getName(String val);
    public String getName() {
        return "Vehicle name: " + name;
    }
}
public class Car extends Vehicle {
    private String name;
    public Car(String val){
        name = super.name = val;
    }

    @Override
    public String getName(String val) {
        return "Car name : " + val;
    }

    public String getName(byte[] val){
        return "Car name : " + val;
    }
}
public class Test {
    public static void main(String[] args) {
        Vehicle obj = new Car("Spark");
        System.out.println(obj.getName());
    }
}

상속2

class SuperObject {
	public void draw() {
		System.out.println("A");
		draw();
	}
	public void paint() {
		System.out.print('B');
		draw();
	}
class SubObject extends SuperObject {
	public void paint() {
		super.paint();
		System.out.print('C');
		draw();
	}
	public void draw() {
		System.out.print('D');
	}
}
public class Test{
	public static void main(String[] args){
		SuperObject a = new SubObject();
		a.paint();
		a.draw();
	}
}

실행 순서 나열하시오

class Parent {
	int x, y;
	
	Parent(int x, int y) {//1
		this.x = x;
		this.y = y;
	}
	
	int getX() {//2
		return x*y;
	}
}

class Child extends Parent {
	int x;
	
	Child(int x){//3
		super(x+1, x);
		this.x =x;
	}
	int getX(int n){//4
		return super.getX()+n;
	}
}
public class Main{
	public static void main(String[] args){//5
		Parent parent = new Child(10);//6
		System.out.println(parent.getX());//7
	}
}

예외처리 2024-3회

public class Main{
	public static void main(String[] args){
		int sum = 0; 
		try{
			func();
		}catch(NullPointerException e){
			sum +=1;
		}catch(Exception e) {
			sum+=10;
		}finally {
			sum+=100;
		}
	static void func() throws Exception {
		throw new NullPointerException();
	}
}