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 {
@Override
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 {
@Override
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