반응형
Java의 클래스
- 사용 순서
- 클래스 작명
- 객체 생성을 위한 필드와 메소드 정의
- 객체 생성
- 생성된 객체를 통한 프로그램 코딩 진행
- Java 문제 1
class ClassA
{
int a = 10;
int funcAdd(int x, int y)
{
return x + y + a;
}
}
public class Test
{
public static void main(String[] args)
{
int x = 3;
int y = 6;
int r;
ClassA cal = new ClassA();
r = cal.funcAdd(x, y);
System.out.print(r);
}
}
해설 및 답
- 정수형 변수 x, y, r 선언
- 객체변수 cal 선언
- x, y의 값인 3과 6을 인수로 cal의 funcAdd() 메소드를 호출해 반환받은 값을 r에 저장
- 호출문으로부터 정수형 인수 2개를 전달받아 각각 x, y에 저장
- 따라서 x, y는 각각 3, 6으로 저장
- x + y + a를 연산 후 r = cal.funcAdd()로 결과 반환
- x + y = 3 + 6 = 9, a = 10이므로 x + y + a = 3 + 6 + 10 = 19
- 19를 r에 저장
- 19
- Java 문제 2
class ClassA
{
ClassA()
{
System.out.print('A');
this.prn();
}
void prn()
{
System.out.print('B');
}
}
class ClassB extends ClassA
{
ClassB()
{
super();
System.out.print('D');
}
void prn()
{
System.out.print('E');
}
void prn(int x)
{
System.out.print(x);
}
}
public class Test
{
public static void main(String[] args)
{
int x = 7;
ClassB cal = new ClassB();
cal.prn(x);
}
}
해설 및 답
- x = 7로 초기화
- ClassB 클래스에 cal선언 후 생성자 호출
- 부모 클래스의 생성자인 ClassA 메소드 호출
- A 출력
- prn() 메소드 호출 후 E 출력
- D 출력
- x의 값을 cal의 prn(int x)메소드 호출
- 7 출력 후 프로그램 종료
- AED7
Java의 활용
- 추상 클래스자식 클래스에서 재정의해야만 사용할 수 있는 메소드를 하나 이상 포함하는 클래스
- 형 변환재정의한 메소드를 부모 클래스의 객체변수를 통해 사용하는 것
- Java 문제
abstract class Animal
{
String a = " is animal";
abstract void look();
void show()
{
System.out.println("Zoo")l
}
}
class Chicken extends Animal
{
Chicken()
{
look();
}
void look()
{
System.out.println("Chicken" + a);
}
void display()
{
System.out.println("two wings");
}
}
public class Test
{
public static void main(String[] args)
{
Animal a = new Chicken();
a.show();
}
}
해설 및 답
- Chicken 클래스의 생성자를 이용해 객체변수 a 선언
- look() 메소드 호출
- Chicken과 a의 값 is animal을 출력 후 커서를 다음줄의 처음으로 이동
- Chicken() 메소드가 종료되고 a의 show() 메소드 호출
- a는 Animal 클래스의 객체변수 이므로 Animal의 show()메소드 호출
- Zoo를 출력 후 프로그램 종료
- Chicken is animal
- Zoo
Python의 활용
- 개요객체지향 기능을 지원하는 스크립트 언어이며, 문법이 다른 언어에 비해 간단하다.
- Python 문제 1"xyz321"을 입력 했을 때 실행 결과
x = input('입력 : ')
a = ['abc123', 'def456', 'ghi789']
a.append(x)
a.remove('def456')
print(a[1][-3:], a[2][:-3], sep = ',')
for i in range(3, 6):
print(i, end = ' ')
해설 및 답
- "입력 : " 이 출력 되고 문제에서의 xyz321을 키보드로 입력
- 리스트 a를 선언하면서 ['abc123', 'def456', 'ghi789']을 초기값 지정
- a.append()를 통해 xyz321를 리스트 a뒤에 추가
- a.remove()를 통해 def456를 리스트 a에서 제거
- a[1]과 a[2]의 요소들을 슬라이스 후 쉼표로 구분하여 출력
- a[1][-3:] : 789
- a[2][:-3] : xyz
- for i in range(3, 6)을 통해 3부터 5까지 순서대로 i에 저장하며 for 아래의 print()를 반복수행
- i의 값을 출력하고 종료문자로 공백 한칸이 출력
- 입력 :3 4 5
- 789,xyz
- Python 예제 2
a = {'apple', 'lemon', 'banana'}
a.update({'kiwi', 'banana'})
a.remove('lemon')
a.add('apple')
for i in a:
print(i)
해설 및 답
- 세트 a를 선언 후 초기화
- a.update()를 통해 세트 a뒤에 kiwi추가
- a.remove()를 통해 세트 a에서의 lemon삭제
- a.add()를 통해 세트 a에 apple 추가하지만 이미 있으므로 불변
- a세트 각 요소의 값을 i에 저장하며 a의 요소 수만큼 반복 수행
- applekiwi
- banana
반응형
'License > 정보처리산업기사 실기' 카테고리의 다른 글
[정보처리산업기사 실기] SQL 활용 - 2 (0) | 2025.03.29 |
---|---|
[정보처리산업기사 실기] 프로그래밍 언어 활용 - 4 (2) | 2025.03.29 |
[정보처리산업기사 실기] 프로그래밍 언어 활용 - 2 (0) | 2025.03.29 |
[정보처리산업기사 실기] 프로그래밍 언어 활용 - 1 (0) | 2025.03.29 |
[정보처리산업기사 실기] 화면 구현 (0) | 2025.03.29 |