인사말
안녕하세요. 이 글을 읽고 계신다면 정보처리기사 또는 정보처리산업기사 수험생이실 것 같습니다.
여러 좋은 서적에서 이론을 잘 설명하고 있지만, 코딩 문제의 경우 같은 문제를 여러 번 풀다 보면 답이 머리에 기억되어 새로운 문제가 필요하게 되는 순간이 옵니다.
그럴 때 더 많은 문제를 풀어보고 도움이 되게 하고자 여러 C언어, JAVA, Python 문제를 변형 시키고 직접 컴파일하여 답을 확인하면서 문제를 만들었습니다.
정보처리 실기를 공부하시는 모든 수험생 여러분, 목표하는 모든 것이 이루어지는 그날까지 응원하겠습니다. 화이팅!
목표를 향해 열심히 노력하시고, 좋은 결과 있기를 기원합니다!
정보처리기사 실기 JAVA언어 코딩 기출변형 문제
1. 출력 값을 작성하시오.
class C {
private int a;
public void set(int a) {
this.a = a;
}
public void add(int d) {
a += d;
}
public void print() {
System.out.println(a);
}
}
class Main {
public static void main(String args[]) {
C p = new C();
C q;
p.set(10);
q = p;
p.add(20);
q.set(40);
p.print();
}
}
정답
40
2. 출력 값을 작성하시오.
class MyClass {
int value;
MyClass(int x) {
value = x;
}
int calculate(MyClass obj) {
int result = obj.value - value;
value = 10;
obj.value = 20;
return result;
}
}
class PassByReference {
public static void main(String[] args) {
MyClass obj1 = new MyClass(3);
MyClass obj2 = new MyClass(4);
int result = obj2.calculate(obj1);
System.out.println("Result: " + result);
System.out.println("obj1.value: " + obj1.value);
System.out.println("obj2.value: " + obj2.value);
}
}
정답
Result: -1
obj1.value: 20
obj2.value: 10
3. 출력 값을 작성하시오.
class MyClass1 {
protected int a = 500;
public int fun1() {
return a;
}
}
class MyClass2 extends MyClass1 {
private int b = 2;
public int fun2() {
return a / b;
}
}
class Example {
public static void main(String[] args) {
MyClass2 sub = new MyClass2();
System.out.println(sub.fun1());
System.out.println(sub.fun2());
}
}
정답
500
250
4. 출력 값을 작성하시오.
class Vehicle {
String model;
Vehicle() {
this.model = "MyVehicle";
}
Vehicle(String model) {
this.model = model;
}
void getModel() {
System.out.println(this.model);
}
}
class Test {
public static void main(String args[]) {
Vehicle aVehicle = new Vehicle("람보르기니");
Vehicle bVehicle = new Vehicle();
aVehicle.getModel();
bVehicle.getModel();
}
}
정답
람보르기니
MyVehicle
5. 출력 값을 작성하시오.
class MyClass {
MyClass() {
System.out.printf("%d ", 10);
}
}
class MySubClass extends MyClass {
MySubClass(int a) {
System.out.printf("%d ", a);
}
}
class MySubSubClass extends MySubClass {
MySubSubClass(int a) {
super(a / 10);
System.out.printf("%d ", a);
}
}
class Test {
public static void main(String args[]) {
MySubSubClass b = new MySubSubClass(1000);
}
}
정답
10 100 1000
6. 출력 값을 작성하시오.
class MyClass {
int value;
MyClass(int value) {
this.value = value;
}
void display() {
System.out.println("Value: " + value);
}
}
class MySubClass extends MyClass {
MySubClass(int value) {
super(value);
super.display();
}
}
class Main {
public static void main(String[] args) {
MySubClass obj = new MySubClass(20);
}
}
정답
Value: 20
7. 출력 값을 작성하시오.
class MyClassA {
int d1;
int s;
MyClassA(int s1) {
s = s1;
d1 = calculateD1();
}
int calculateD1() {
return s * s;
}
}
class MyClassB extends MyClassA {
int d2;
int t;
MyClassB(int s1, int t1) {
super(s1);
t = t1;
d2 = calculateD2();
}
int calculateD2() {
return t * t;
}
}
class Test {
public static void main(String args[]) {
MyClassB myTest = new MyClassB(15, 25);
System.out.println("Result1: " + myTest.d1);
System.out.println("Result2: " + myTest.d2);
}
}
정답
Result1: 225
Result2: 625
8. 출력 값을 작성하시오.
class Base {
Base() {
System.out.print('A');
}
Base(char x) {
System.out.print(x);
}
void printMessage() {
System.out.print(" Base");
}
}
class Derived extends Base {
Derived() {
super();
System.out.print('B');
}
Derived(char x) {
this();
System.out.print(x);
}
void printMessage() {
super.printMessage();
System.out.print(" Derived");
}
}
class Test {
public static void main(String[] args) {
Base s1 = new Base('C');
Derived s2 = new Derived('D');
s1.printMessage();
s2.printMessage();
}
}
정답
CABD Base Base Derived
9. 출력 값을 작성하시오.
class FirstClass {
int a = 10;
public FirstClass() {
System.out.print("안");
}
public FirstClass(int x) {
System.out.print("녕");
}
public static void main(String[] args) {
SecondClass b1 = new SecondClass();
FirstClass b2 = new SecondClass(1);
System.out.print(b1.a + b2.a);
}
}
class SecondClass extends FirstClass {
int a = 20;
public SecondClass() {
System.out.print("하");
}
public SecondClass(int x) {
System.out.print("세요");
}
}
정답
안하안세요30
10. 출력 값을 작성하시오.
class BaseClass {
int x = 100;
BaseClass() {
this(500);
}
BaseClass(int x) {
this.x = x;
}
int getX() {
return x;
}
}
class DerivedClass extends BaseClass {
int x = 1000;
DerivedClass() {
super(2000);
this.x = 3000;
}
DerivedClass(int x) {
this.x = x * 2;
}
public static void main(String[] args) {
DerivedClass obj = new DerivedClass();
System.out.println(obj.getX());
}
}
정답
2000