반응형
2020 정보처리기사 실기 2회 2번
문제
2. 다음은 파이썬 코드이다. 출력 결과를 쓰시오.
1
2
3
4
5
6
|
a={'일본','중국','한국'}
a.add('베트남')
a.add('중구')
a.remove('일본')
a.update(['홍콩','한국','태국'])
print(a)
|
cs |
정답
{'중국','한국','베트남','홍콩','태국'}
해설
a배열의 변화에 따라 나열하는 방식으로 문제를 풀어보겠습니다.
- a={'일본','중국','한국'}: 여기서는 '일본', '중국', '한국'을 요소로 하는 집합 a를 생성합니다. 집합은 중괄호 {}를 사용하여 정의하며, 집합 내의 요소들은 중복될 수 없습니다.
- a.add('베트남'): '베트남'이라는 요소를 집합 a에 추가합니다. 이제 집합 a는 {'일본', '중국', '한국', '베트남'}이 됩니다.
- a.add('중구'): '중구'라는 요소를 집합 a에 추가합니다. 이제 집합 a는 {'일본', '중국', '한국', '베트남', '중구'}가 됩니다.
- a.remove('일본'): '일본'이라는 요소를 집합 a에서 제거합니다. 이제 집합 a는 {'중국', '한국', '베트남', '중구'}가 됩니다.
- a.update(['홍콩', '한국', '태국']): 여러 요소를 집합에 한 번에 추가합니다. '홍콩'과 '태국'이 추가되고, '한국'은 이미 집합에 있으므로 변경되지 않습니다. 이제 집합 a는 {'중국', '한국', '베트남', '중구', '홍콩', '태국'}이 됩니다.
2020 정보처리기사 실기 2회 5번
문제
5. 다음은 자바 코드이다. 다음 밑줄에 들어갈 키워드를 쓰시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class parent
public void show(){
System.out.println("Parent");
}
}
class Child extends Parent{
public void show(){
System.out.println("Child");
}
}
public class good{
public static void main(String[] args){
Parent pa = ____ Child();
pa.show();
}
}
|
cs |
정답
new
해설
괄호 자리에 들어가야 할 키워드는 Child 클래스의 새로운 인스턴스를 생성해줄 수 있는 키워드로, 자식 클래스 인스턴스를 부모 클래스 타입으로 참조하는 경우에 해당합니다. 이러한 키워드는 new 키워드이며, 키워드를 사용하여 Child 클래스의 새 인스턴스를 생성하는 것입니다. 이 인스턴스는 Parent 타입의 참조 변수 pa에 할당됩니다. 이때 pa.show();를 실행하면, 실제 객체인 Child의 show 메서드가 호출되어 "Child"가 출력됩니다.
2020 정보처리기사 실기 2회 19번
문제
19. 다음은 자바 코드이다. 출력 결과를 쓰시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
class A{
private int a;
public A(int a){
this.a = a;
}
public void display(){
system.out.println("a=" + a);
}
}
class B extends A {
public B(int a){
super(a);
super.display();
}
}
public class good {
public static void main(String[] args){
B obj = new B(10);
}
}
|
cs |
정답
a = 10
해설
- class A: 이것은 기본 클래스로, 정수형 변수 a를 private 멤버로 갖고 있습니다. 클래스에는 정수형 매개변수를 받는 생성자 public A(int a)가 있으며, 이 생성자는 인스턴스 변수 a를 초기화합니다. 또한 display 메서드는 "a="와 해당 인스턴스 변수 a의 값을 출력합니다.
- class B extends A: 이 클래스는 A 클래스로부터 상속받습니다. B의 생성자 public B(int a)는 super(a)를 호출하여 부모 클래스 A의 생성자를 호출하고, 이는 B 객체의 a 값을 초기화합니다. 생성자 내에서 super.display();를 호출하면, 이는 상속받은 A 클래스의 display 메소드를 실행합니다.
메인 클래스 및 메서드 실행:
- public class good: 이것은 메인 클래스입니다.
- public static void main(String[] args): 이 메서드는 프로그램의 진입점입니다.
- B obj = new B(10);: B 클래스의 인스턴스 obj를 생성하고, 이때 생성자에 10을 매개변수로 전달합니다.
실행 과정:
- B 클래스의 객체가 생성될 때, B의 생성자가 호출됩니다.
- B의 생성자에서 super(a);는 부모 클래스 A의 생성자를 호출하고, 여기에 10이 전달되어 A의 인스턴스 변수 a가 10으로 초기화됩니다.
- 그 후, B의 생성자에서 super.display();가 호출되어 부모 클래스 A의 display 메소드가 실행됩니다. 이 메서드는 A의 인스턴스 변수 a의 현재 값, 즉 10을 출력합니다.