인사말

안녕하세요. 이 글을 읽고 계신다면 정보처리기사 또는 정보처리산업기사 수험생이실 것 같습니다.

여러 좋은 서적에서 이론을 잘 설명하고 있지만, 코딩 문제의 경우 같은 문제를 여러 번 풀다 보면 답이 머리에 기억되어 새로운 문제가 필요하게 되는 순간이 옵니다.

그럴 때 더 많은 문제를 풀어보고 도움이 되게 하고자 여러 C언어, JAVA, Python 문제를 변형 시키고 직접 컴파일하여 답을 확인하면서 문제를 만들었습니다.

정보처리 실기를 공부하시는 모든 수험생 여러분, 목표하는 모든 것이 이루어지는 그날까지 응원하겠습니다. 화이팅!

목표를 향해 열심히 노력하시고, 좋은 결과 있기를 기원합니다!

 

 

정보처리기사 실기 JAVA언어 코딩 기출변형 문제

 

1. 출력 값을 작성하시오.

public class OverloadingExample {
   
    public int add(int a, int b) {
        return a * b;
    }
   
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

public class Main {
    public static void main(String[] args) {
        OverloadingExample example = new OverloadingExample();
        System.out.println("두 정수의 합: " + example.add(5, 3));
        System.out.println("세 정수의 합: " + example.add(10, 20, 30));
    }
}
정답

두 정수의 합: 15
세 정수의 합: 60

2. 출력 값을 작성하시오.

public class Calculation {
   
    public int multiply(int a, int b) {
        return a * b;
    }
   
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    public int multiplyAndAdd(int x, int y, int z) {
        int sum = add(x, y, z);
        return multiply(sum, z);
    }
}

public class Main {
    public static void main(String[] args) {
        Calculation calculation = new Calculation();

        int product = calculation.multiply(5, 3);
        System.out.println(product);

        int sum = calculation.add(10, 20, 30);
        System.out.println(sum);

        int result = calculation.multiplyAndAdd(5, 3, 2);
        System.out.println(result);
    }
}
정답

15
60
20

3. 출력 값을 작성하시오.

public class Calculation {
   
    public int addAndMultiply(int a, int b) {
        return (a + b) * (a + b);
    }
   
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    public int multiplyBySum(int x, int y, int z, int multiplier) {
        int sum = add(x, y, z);
        return sum * multiplier;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculation calculation = new Calculation();

        int result1 = calculation.addAndMultiply(5, 3);
        System.out.print(result1);

        int result2 = calculation.add(10, 20, 30);
        System.out.print(result2);

        int result3 = calculation.multiplyBySum(1, 2, 3, 2);
        System.out.println(result3);
    }
}
정답

646012

4. 출력 값을 작성하시오.

class Shape {
    public double calculateArea() {
        return 0.0;
    }
}

class Circle extends Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double calculateArea() {
        return 3 * radius * radius;
    }
}

class Rectangle extends Shape {
    private double width;
    private double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double calculateArea() {
        return width * height;
    }
}

public class Main {
    public static void main(String[] args) {
        Circle circle = new Circle(5.0);
        System.out.println("Circle의 넓이: " + circle.calculateArea());

        Rectangle rectangle = new Rectangle(4.0, 6.0);
        System.out.println("Rectangle의 넓이: " + rectangle.calculateArea());
    }
}
정답

Circle의 넓이: 75.0
Rectangle의 넓이: 24.0

5. 출력 값을 작성하시오.

class Animal {
    public void makeSound() {
        System.out.println("동물 소리");
    }
}

class Dog extends Animal {
    public void makeSound() {
        System.out.println("멍멍");
    }
}

class Cat extends Animal {
    public void makeSound() {
        System.out.println("야옹");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.makeSound();

        Cat cat = new Cat();
        cat.makeSound();
    }
}
정답

멍멍
야옹

6. 출력 값을 작성하시오.

class Vehicle {
    public void move() {
        System.out.println("이동합니다.");
    }
}

class Car extends Vehicle {
    public void move() {
        System.out.println("도로를 달립니다.");
    }
}

class Boat extends Vehicle {
    public void move() {
        System.out.println("물을 헤엄칩니다.");
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.move();

        Boat boat = new Boat();
        boat.move();
    }
}
정답

도로를 달립니다.
물을 헤엄칩니다.

7. 출력 값을 작성하시오.

class Vehicle {
    private int speed;

    public void move() {
        System.out.println("이동합니다.");
    }

    public int getSpeed() {
        return speed;
    }

    public void setSpeed(int speed) {
        this.speed = speed;
    }
}

class Car extends Vehicle {
    public void move() {
        System.out.println("도로를 달립니다.");
    }

    public void accelerate(int amount) {
        int newSpeed = getSpeed() + amount;
        setSpeed(newSpeed);
    }

    public void decelerate(int amount) {
        int newSpeed = getSpeed() - amount;
        setSpeed(newSpeed);
    }
}

class Boat extends Vehicle {
    public void move() {
        System.out.println("물을 헤엄칩니다.");
    }

    public void accelerate(int amount) {
        int newSpeed = getSpeed() + amount;
        setSpeed(newSpeed);
    }

    public void decelerate(int amount) {
        int newSpeed = getSpeed() - amount;
        if (newSpeed < 0) {
            newSpeed = 0;
        }
        setSpeed(newSpeed);
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.accelerate(20);
        car.move();
        System.out.println("현재 속도: " + car.getSpeed());

        Boat boat = new Boat();
        boat.decelerate(10);
        boat.move();
        System.out.println("현재 속도: " + boat.getSpeed());
    }
}
정답

도로를 달립니다.
현재 속도: 20
물을 헤엄칩니다.
현재 속도: 0

8. 출력 값을 작성하시오.

class Parent {
    static String message = "부모 클래스의 메시지";
    String instanceMessage = "부모 클래스의 인스턴스 메시지";

    static void printMessage() {
        System.out.println(message);
    }

    void printInstanceMessage() {
        System.out.println(instanceMessage);
    }
}

class Child extends Parent {
    static String message = "자식 클래스의 메시지";
    String instanceMessage = "자식 클래스의 인스턴스 메시지";

    static void printMessage() {
        System.out.println(message);
    }

    void printInstanceMessage() {
        System.out.println(instanceMessage);
    }
}

public class Main {
    public static void main(String[] args) {
        Parent.printMessage();
        Parent parent = new Parent();
        parent.printInstanceMessage();

        Child.printMessage();
        Child child = new Child();
        child.printInstanceMessage();
    }
}
정답

부모 클래스의 메시지
부모 클래스의 인스턴스 메시지
자식 클래스의 메시지
자식 클래스의 인스턴스 메시지

9. 출력 값을 작성하시오.

class Parent {
    static String message = "부모 클래스의 메시지";
    String instanceMessage = "부모 클래스의 인스턴스 메시지";

    static void printMessage() {
        System.out.println(message);
    }

    void printInstanceMessage() {
        System.out.println(instanceMessage);
    }
}

class Child extends Parent {
    static String message = "자식 클래스의 메시지";
    String instanceMessage = "자식 클래스의 인스턴스 메시지";

    static void printMessage() {
        System.out.println(message);
    }

    void printInstanceMessage() {
        System.out.println(instanceMessage);
    }
}

public class Main {
    public static void main(String[] args) {
        Parent temp = new Child();
        temp.printMessage();
        temp.printInstanceMessage();
    }
}
정답

부모 클래스의 메시지
자식 클래스의 인스턴스 메시지

10. 출력 값을 작성하시오.

class Parent {
    static int number = 10;
    int instanceNumber = 20;

    static void multiplyByTwo() {
        System.out.println("부모 클래스의 정적 메서드 결과: " + (number * 2));
    }

    void multiplyByThree() {
        System.out.println("부모 클래스의 인스턴스 메서드 결과: " + (instanceNumber * 3));
    }
}

class Child extends Parent {
    static int number = 5;
    int instanceNumber = 15;

    static void multiplyByTwo() {
        System.out.println("자식 클래스의 정적 메서드 결과: " + (number * 2));
    }

    void multiplyByThree() {
        System.out.println("자식 클래스의 인스턴스 메서드 결과: " + (instanceNumber * 3));
    }
}

public class Main {
    public static void main(String[] args) {
        Parent temp = new Child();
        temp.multiplyByTwo();
        temp.multiplyByThree();
    }
}
정답

부모 클래스의 정적 메서드 결과: 20
자식 클래스의 인스턴스 메서드 결과: 45