1. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단 , 출력문의 출력 서식을 준수하시오)
class Test {
public static void main(String args[]) {
cond obj = new cond(3);
obj.a = 5;
int b = obj.func();
System.out.print(obj.a + b);
}
}
class cond {
int a:
public cond(int a) {
this.a = a;
}
public int func() {
int b = 1;
for (int i = 1; i < a; i++)
b += a * i;
return a + b;
}
}
더보기
61
class Test {
public static void main(String args[]) {
cond obj = new cond(3); // cond(3)
obj.a = 5; // 다시 a=5대입
int b = obj.func(); // 56
System.out.print(obj.a + b); // 5 + 56 = 61
}
}
class cond {
int a:
public cond(int a) {
this.a = a; // a = 3 대입
}
public int func() {
int b = 1;
for (int i = 1; i < a; i++) // 1~4까지 for문
b += a * i; // b = b + a * i
// i = 1, b = 1 + 5 * 1 = 6
// i = 2, b = 6 + 5 * 2 = 16
// i = 3, b = 16 + 5 * 3 = 31
// i = 4, b = 31 + 5 * 4 = 51
return a + b; // a = 5 + 51 = 56
}
}
2. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
class A {
int a:
int b:
}
public class Test {
static void funcl(A m) {
m.a *= 10;
}
static void func2(A m) {
m.a += m.b;
}
public static void main(String args[]) {
A m = new A();
m.a = 100;
funcl(m);
m.b = m.a;
func2(m):
System.out.printf("%d", m.a);
}
}
더보기
2000
class A {
int a:
int b:
}
public class Test {
static void funcl(A m) {
m.a *= 10;
}
static void func2(A m) {
m.a += m.b;
}
public static void main(String args[]) {
A m = new A(); // class A의 객체 변수 m 선언
m.a = 100; // m의 a = 100 대입
funcl(m); // m.a = m.a * 10 = 100 * 10 = 1000
m.b = m.a; // m.b = 1000 대입
func2(m): // m.a = m.a + m.b = 1000 + 1000 = 2000
System.out.printf("%d", m.a); 2000 출력
}
}
3. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
public class ovrl {
public static void main(String[] args) {
ovrl al = new ovrl();
ovr2 a2 = new ovr2();
System.out.println(al.sun(3,2) + a2.sun(3,2));
}
int sun(int x, int y) {
return x + y;
}
}
class ovr2 extends ovrl {
int sun(int x, int y) {
return x - y + super.sun(x, y);
}
}
더보기
11
public class ovr1 {
public static void main(String[] args) {
ovrl a1 = new ovr1(); // ovr1 클래스의 a1 선언
ovr2 a2 = new ovr2(); // ovr2 클래스의 a2 선언
System.out.println(al.sun(3,2) + a2.sun(3,2));
// System.out.println (return 3+2 = 5 + return 3-2 + 3+2 = 6) 즉 11 출력
}
int sun(int x, int y) {
return x + y;
}
}
class ovr2 extends ovrl {
int sun(int x, int y) {
return x - y + super.sun(x, y);
}
}
4. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
class A {
int a;
public A(int a) { this.a = a; }
void display() { System.out.println("a=" + a); }
}
class B extends A {
public B(int a) {
super(a);
super.display();
}
}
public class Test {
public static void main(String[] args) {
B obj = new B(10);
}
}
더보기
a = 10
class A {
int a;
public A(int a) { this.a = a; } // a = 10
void display() { System.out.println("a=" + a); } // a = 10 출력
}
class B extends A {
public B(int a) { // a = 10
super(a); //부모 class 호출 및 10 대입
super.display(); // 부모 class display() 호출
}
}
public class Test {
public static void main(String[] args) {
B obj = new B(10); // B class 의 객체 obj 변수를 가진 생성자 선언 인수 (10)대입
}
}
5. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst new Connection();
return _inst;
}
return _inst;
public void count() { count++; }
public int getCount() { return count; }
}
public class Test {
public static void main(String[] args) {
Connection conn1 Connection.get();
conn1.count();
Connection conn2 = Connection.get();
conn2.count();
Connection conn3 Connection.get();
conn3.count();
System.out.print(connl.getCount());
}
더보기
3
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst new Connection();
return _inst;
}
return _inst;
public void count() { count++; }
public int getCount() { return count; }
}
public class Test {
public static void main(String[] args) {
Connection conn1 Connection.get(); // Connection class의 conn1 객체변수 선언, get() 메소드로 호출
conn1.count(); //count++ = 1
Connection conn2 = Connection.get();
conn2.count(); //count++ = 2
Connection conn3 Connection.get();
conn3.count(); //count++ = 3
System.out.print(connl.getCount());
} // return 3 출력
}
6. 다음 Java로 구현된 프로그래밍을 분석하여 괄호에 들어가는 값과 출력되는 알맞은 답을 쓰시오.
class Parent {
void show() { System.out.println("parent"); }
}
class Child extends Parent {
void show() { System.out.println("child"); }
}
public class Test {
public static void main(String[] args) {
Parent pa = ( ) Child();
pa.show();
}
}
더보기
() = new
출력 : child
class Parent {
void show() { System.out.println("parent"); }
}
class Child extends Parent {
void show() { System.out.println("child"); }
}
public class Test {
public static void main(String[] args) {
Parent pa = ( ) Child(); // Child Class의 생성자를 사용하여 Parent Class 객체 변수 pa 선언 = new
pa.show(); // 오버라이딩으로 child 출력
}
}
7. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
class Parent {
int compute(int num) {
if(num <= 1) return num;
return compute(num - 1) + compute(num - 2);
}
}
class Child extends Parent {
int compute(int num) {
if(num <= 1) return num;
return compute(num 1) + compute(num 3);
}
}
public class Test {
public static void main(String[] args) {
Parent obj = new Child();
System.out.print(obj.compute (4));
}
}
더보기
1
class Parent {
int compute(int num) {
if(num <= 1) return num;
return compute(num - 1) + compute(num - 2);
}
}
class Child extends Parent {
int compute(int num) { // 4 대입
if(num <= 1) return num; // 1보다 작거나 같을때 num 리턴
return compute(num - 1) + compute(num - 3);
// compute(3) + compute (1) -- 1
// compute(2) + compute(0) - 0
// compute(1) + compute(-1)
// 1 + -1 + 0 + 1 = 즉, 1 출력
}
}
public class Test {
public static void main(String[] args) {
Parent obj = new Child(); Child 생성자 obj 객체변수 생성
System.out.print(obj.compute(4));
}
}
8 . 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오 (단, 출력문의 출력 서식을 준수하시오)
abstract class Vehicle {
String name:
abstract public String getName(String val);
public String getName() {
return "Vehicle name: " + name;
}
}
class Car extends Vehicle {
private String name:
public Car(String val) {
name = super.name = val;
}
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.print(obj.getName());
}
}
더보기
Vehicle name : Spark
abstract class Vehicle {
String name:
abstract public String getName(String val);
public String getName() {
return "Vehicle name: " + name;
}
}
class Car extends Vehicle {
private String name:
public Car(String val) {
name = super.name = val; // Vehicle의 name과 Car의 name 둘다 "Spark" 대입
}
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"); // 인자있는 Car메소드로 이동
System.out.print(obj.getName());
// obj.getName() 호출 , 자식 클래스에는 인자없는 메서드가 없다. 따라서 부모의 인자없는 메소드를 탄다.
// Vehicle name : Spark 출력
}
}
9. 자바 코드의 값을 구하시오
public class Soojebi{
public static int calc(int[] arr){
int sum=1;
for (int num: arr) {
sum += num;
}
for (int num: arr) {
if (num%2==0){
sum -= num;
}
}
return sum;
}
public static void main(String[] args) {
int[] arr = new int[5];
for (int i=0; i<arr.length; i++){
arr[i] = i+10;
}
System.out.print(calc(arr));
}
시나공, 유형별로 분류한 프로그래밍 - JAVA 활용 9문제 정보처리기사실기
http://gilbut.co/c/23037804xW
'|Developer_Study > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 2022년 1회 실기 기출 (0) | 2023.04.05 |
---|---|
[정보처리기사 실기] C언어 활용 문제 (0) | 2023.04.04 |
[정보처리기사 실기] 2021년 3회 실기 기출 (0) | 2023.04.03 |
[정보처리기사 실기] 페이지 교체 알고리즘 (0) | 2023.04.01 |
[정보처리기사 실기] 프로세스 스케줄링 (0) | 2023.03.30 |
댓글