정보처리기사 실기 대비_파트10
01 Jul 2023정보처리기사 실기 대비
10. 프로그래밍 언어 활용
Section153 Java의 클래스
- Java 클래스의 개요
- 클래스는 객체 생성을 위한 필드(속성)와 메소드(함수)를 정의하는 설계도.
- 클래스 이름을 정하고 객체 생성을 위한 필드와 메소드 정의. class 명령
- 객체 생성. new 명령.
- 객체 이용해 코딩.
- 클래스는 객체 생성을 위한 필드(속성)와 메소드(함수)를 정의하는 설계도.
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, y = 6, r;
ClassA cal = new ClassA();
r = cal.funcAdd(x, y);
System.out.print(r);
}
}
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)
}
}
Section154 Java의 활용
- 추상 클래스와 형 변환의 개요
- 추상 클래스는 자식 클래스에서 재정의해야만 사용할 수 있는 메소드. 이런 메소드를 하나 이상 포함하는 클래스를 추상 메소드라고 함.
- 이렇게 재정의한 메소드를 부모 클래스의 객체 변수를 통해 사용하려면 부모 클래스의 객체 변수를 선언할 때 자식 클래스의 생성자를 이용해야 함. 이것을 클래스의 형 변환이라고 함.
abstract class Animal {
String a = " is animal";
abstract void look();
void show() {
System.out.println("Zoo");
}
}
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();
}
}
Section155 Python의 활용
- 개요
- 객체지향 기능을 지원하는 스크립트 언어. 문법이 간단하다는 장점.
- 변수의 자료형에 대한 선언이 없다.
- 문자열 ‘’ “” 구분 없이 사용 가능
- 문장 끝에 ; 필요 없음
- if for 같이 코드 블록 포함 명령문 작성 시 중괄호 대신 콜론과 여백으로 구분
- 자료형 : List, Set
- 입출력 함수 : input, print
- 슬라이스
- Range
- 객체지향 기능을 지원하는 스크립트 언어. 문법이 간단하다는 장점.
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 = ' ')
a = {'apple', 'lemon', 'banana'}
a.update({'kiwi', 'banana'})
a.remove('lemon')
a.add('apple')
for i in a:
print(i)
Range
- Range는 연속된 숫자를 생성하는 것.
- range(최종값)
- range(초기값, 최종값)
- range(초기값, 최종값, 증가값)
Slice
- 문자열이나 리스트 같은 순차형 객체에서 일부를 잘라 반환하는 기능
- 객체명[초기위치:최종위치]
- 객체명[초기위치:최종위치:증가값]
- 객체명[:] 또는 객체명[::] - 객체 모든 요소 반환
- 객체명[초기위치:] - 초기위치에서 마지막 위치까지 요소 반환
- 객체명[:최종위치] - 0번째 위치에서 최종위치-1까지의 요소 반환
- 객체명[::증가값] 0번째 위치에서 마지막 위치까지 증가값만큼 증가하면서 해당 위치 요소 반환
리스트 관련 주요 메소드
- pop()
- index(값)
- count(값)
- extend(리스트)
- reverse()
- sort()
- copy()
세트 관련 주요 메소드
- pop()
- add(값)
- update(세트)
- remove(값)
Section156 절차적 프로그래밍 언어
- 절차적 프로그래밍 언어
- 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어
- 실행되는 절차 중요시
- 데이터를 중심으로 프로시저 구현
- 프로그램 전체가 유기적으로 연결
- 자연어에 가까운 단어와 문장으로 구성
- 과학 계산, 하드웨어 제어에 주로 사용
- 종류
- C
- ALGOL
- COBOL
- FORTRAN
Section157 객체지향 프로그래밍 언어
- 객체지향 프로그래밍 언어
- 현실 세계의 개체를 하나의 객체로 만들어, 객체들을 조립해서 프로그램을 작성하는 기법
- 프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 기법
- 한 프로그램을 다른 프로그램에서 이용할 수 있도록 함
- 종류
- JAVA
- C++
- Smalltalk
Section158 스크립트 언어
- 스크립트 언어
- HTML 문서 안에 직접 프로그램 언어를 삽입하여 사용하는 언어
- 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작
- 게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용
- 서버용 스크립트 언어 - 서버에서 실행된 후 결과만 클라이언트로 보냄
- 클라이언트용 스크립트 언어 - 웹 브라우저에서 해석되어 실행
- 종류
- 자바 스크립트
- VB 스크립트
- ASP(Active Server Page)
- JSP(Java Server Page)
- PHP(Professional Hypertext Preprocessor)
- 파이썬
- 쉘 스크립트
- Basic
Section159 선언형 언어
- 선언형 언어
- 프로그램이 수행해야 할 문제를 기술하는 언어
- 분류
- 함수형 언어
- 논리형 언어
- 명령형 언어
- 문제를 해결하기 위한 방법을 기술하는 언어
- 순차적인 명령 수행을 기본으로 함
- 폰노이만 구조에 개념적인 기초를 둠
- 절차적 언어와 객체지향 언어가 있음
- 종류
- HTML
- LISP
- PROLOG
- XML
- Haskell
Section160 라이브러리
- 라이브러리
- 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
- 분류
- 표준 라이브러리
- 외부 라이브러리
- C언어의 대표적인 표준 라입러리
- 헤더 파일로 제공
- include문을 이용해 선언한 후 사용
- stdio.h
- math.h
- string.h
- stdib.h
- time.h
- Java의 대표적인 표준 라이브러리
- 라이브러리를 패키지에 포함하여 제공
- import문을 이용해 선언한 후 사용
- 클래스와 메소드를 .로 구분하여 사용
- 패키지
- java.lang
- java.util
- java.io
- java.net
- java.awt
- Python의 대표적인 표준 라이브러리
- import random과 같이 선언
- 사용할 때는 마침표로 구분하여 사용
- 클래스
- 내장 함수
- os
- re
- math
- random
- statistics
- datetime
Section161 예외 처리
- 예외 처리
- 예외 발생 시 프로그래머가 해당 문제에 대비해 작성해놓은 처리 루틴이 수행되도록 하는 것
- 일반적 처리 루틴은 프로그램 종료시키거나 로그를 남기는 것
- C++, Ada, Java, JS 같은 언어에는 예외 처리 기능이 내장되어 있음
- 필요한 경우 조건문 이용해 예외 처리 루틴 작성
- 대표적 원인
- 컴퓨터 하드웨어 문제
- 운영체제 설정 실수
- 라이브러리 손상
- 사용자 입력 실수
- 받아들일 수 없는 연산
- 할당하지 못하는 기억장치 접근
- Java의 예외 처리
- JAVA는 예외를 객체로 취급
- 예외 관련 클래스를 java.lang 패키지에서 제공
- try ~ catch 문 이용해 예외 처리
- try 블록 코드 수행하다 예외 발생 시 catch 블록으로 이동하여 예외 처리 코드 수행
- try catch 문 안에 또 다른 try catch 문을 포함할 수 있음
- 실행 코드가 한 줄이라도 중괄호 생략할 수 없음