[21년 1회]
public class Main {
public static void main(String[] args) {
int arr[][] = new int[][]{{45,50,75},{89}};
System.out.println(arr[0].length);
System.out.println(arr[1].length);
System.out.println(arr[0][0]);
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
}
}
더보기
정답
3
1
45
50
89
public class Main{
public static void main(String[] args){
int i,j;
for(j=0, i=0; j<=5; i++){
j += i;
System.out.print(i);
if(i==5){
System.out.print("=");
System.out.print(j);
} else {
System.out.print("+");
}
}
}
}
더보기
정답
0+1+2+3+4+5=15
[21년 2회]
// (가)에 알맞은 예약어를 쓰시오
public class Main{
public static void maing(String[] args){
System.out.print(Main.check(1));
}
(가) String check (int num){
return (num >= 0) ? "positive" : "negative";
}
}
더보기
정답 : static
Main 클래스에서 직접 호출하고 있기 때문에 static 키워드 필요
* static이 붙은 메서드는 인스턴스를 생성하지 않고도 직접 호출 가능
public class ovr1{
public static void main(String[] args){
ovr1 a1 = new ovr1();
ovr2 a2 = new ovr2();
System.out.println(a1.sun(3,2) + a2.sun(3,2));
}
int sun(int x, int y){
return x + y;
}
}
class ovr2 extends ovr1 {
int sun(int x, int y){
return x - y + super.sun(x, y);
}
}
더보기
11
[21년 3회]
class Connection {
private static Connection _inst = null;
private int count = 0;
public static Connection get() {
if(_inst == null) {
_inst = new Connection();
return _inst;
}
return _inst;
}
public void count() { count++; }
public int getCount() { return count;}
}
public class Main {
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(conn1.getCount());
}
}
더보기
정답 : 3
* 싱글톤 패턴 (Singleton Pattern)
→ 객체 지향 프로그래미에서 특정 클래스가 단 하나만의 인스턴스를 생성하여 사용하기 위한 패턴
: 불필요한 자원 사용을 방지하고, 생성된 하나의 객체를 전역에서 공유하고 사용할 수 있게 하기 위해 싱글톤 패턴 사용
[풀이]
클래스 Connection
- private static Connection _inst = null;:
- Connection 클래스의 정적 필드 _inst는 이 클래스의 유일한 인스턴스를 저장
- 초기에는 null로 설정되어 있으며, 인스턴스가 생성되면 그 인스턴스를 이 변수에 저장
- public static Connection get():
- 이 정적 메서드는 클래스의 유일한 인스턴스를 반환
- 만약 인스턴스가 아직 생성되지 않았다면, 새로운 Connection 객체를 생성, 그 객체를 _inst에 저장한 후 반환
- 이미 인스턴스가 존재한다면, 새로 생성하지 않고 기존 인스턴스를 그대로 반환
- public void count():
- count라는 정수형 필드를 1씩 증가시키는 메서드
- public int getCount():
- 현재 count 값(증가된 값)을 반환
클래스 Main:
- Connection conn1 = Connection.get();:
- conn1이라는 Connection 객체 참조 변수를 선언하고, Connection.get()을 호출하여 Connection 인스턴스 가져옴
- 이때 인스턴스가 처음 생성
- conn1.count();:
- conn1의 count 메서드를 호출하여 count 값을 1 증가
- Connection conn2 = Connection.get();:
- conn2도 Connection.get()을 호출하여 Connection 인스턴스를 가져오는데 이때는 이미 인스턴스가 생성되어 있으므로 새로 생성하지 않고 기존의 인스턴스를 반환
- 즉, conn2는 conn1과 동일한 객체를 참조
- conn2.count();:
- conn2로 호출했지만, 실제로는 동일한 인스턴스이므로 count 값이 1 증가
- Connection conn3 = Connection.get();:
- 마찬가지로 conn1과 conn2와 같은 객체를 참조
- conn3.count();:
- 동일한 인스턴스에서 count 값을 1 증가
- System.out.print(conn1.getCount());:
- conn1.getCount()로 현재 count 값을 출력
- conn1, conn2, conn3 모두 동일한 인스턴스를 참조하므로 count 값은 3
public class Main{
public static void main(String[] args){
int a = 3, b = 4, c = 3, d = 5;
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c !=d )){
a = b + c;
if(7 == b ^ c != a){
System.out.println(a);
} else {
System.out.println(b);
}
} else {
a = c + d;
if(7 == c ^ d != a) {
System.out.println(a);
} else {
System.out.println(d);
}
}
}
}
더보기
정답 : 7
[풀이]
if ((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d))
1. (a = 2 | a == c)
✔️ " | " : 비트 OR 연산자 = 두 값 중 하나라도 참이면 전체가 참
a == 2 → false, a == c → true
➡️ true
2. !(c > d)
c > d → false , !(false) → true
➡️ true
3. (1 == b ^ c != d)
✔️ " ^ " : 논리 XOR 연산자 = 두 값이 다를 때 true
1 == b → false , c != d → true
➡️ true
if( ture & true & true ) ➡️ true 이므로 첫번째 블록 실행
'정보처리기사[실기]' 카테고리의 다른 글
[JAVA] 23년 기출 문제 풀이 (1회 ~ 4회) (3) | 2024.10.13 |
---|---|
[JAVA] 22년 기출 문제 풀이 (1회 ~ 3회) (0) | 2024.10.13 |
[JAVA] 20년 기출 문제 풀이 (1회 ~ 4회) (0) | 2024.10.07 |
[C언어] 24년 기출 문제 풀이 (1회, 2회) (1) | 2024.10.01 |
[C언어] 23년 기출 문제 풀이 (1회 ~ 4회) (0) | 2024.10.01 |