[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.7) 스크립트 언어, 라이브러리, 예외 처리
「1」 소프트웨어 설계
「2」 소프트웨어 개발
「3」 데이터베이스 구축
> 「4」 프로그래밍 언어 활용
- 서버 프로그램 구현, > 프로그래밍 언어 활용, 응용 SW 기초 기술 활용
「5」 정보시스템 구축 관리
1 데이터 타입
2 변수
3 연산자
4 데이터 입 / 출력
5 제어문
6 반복문
7 배열과 문자열
8 포인터
9 구조체
10 Python의 기초
11 Python의 활용
> 12 스크립트 언어
> 13 라이브러리
> 14 예외 처리
12. 스크립트 언어
스크립트 언어의 개요
HTML문서 안에 직접 프로그래밍 언어를 삽입하여 사용, 별도의 번역기가 소스를 분석하여 동작하게 하는 언어
- 게시판 입력, 상품 검색, 회원 가입 등 데이터베이스 처리 작업을 수행
- 클라이언트의 웹 브라우저에서 해석되어 실행되는 클라이언트용 스크립트언어, 서버에서 해석되어 실행된 후 결과만 클라이언트로 보내는 서버용 스크립트 언어
- 클라이언트용 스크립트 언어 : 자바 스크립트(JavaScript), VB 스크립트(Visual Basic Script)
- 서버용 스크립트 언어 : ASP, JSP, PHP, 파이썬
스크립트 언어의 장 / 단점
- 컴파일 없이 바로 실행, 결과를 바로 확인
- 배우고 코딩하기 쉬움
- 개발 시간이 짧음
- 소스 코드를 쉽고 빠르게 수정
- 코드를 읽고 해석하므로 실행 속도 느림
- 런타임 오류 많이 발생
스크립트 언어의 종류
자바스크립트(JavaScript)
: 웹 페이지의 동작을 제어하는 데 사용, 클라이언트용 스크립트 언어
: 클래스 기반의 객체 상속을 지원, 객체지향 프로그래밍 언어의 성격
: Prototype Link, Prototype Object를 통해 프로토타입 개념을 활용
VB 스크립트(Visual Basic Script)
: 마이크로소프트 사에서 자바스크립트에 대응하기 위한 언어
: Active X를 사용하여 마이크로소프트 사 애플리케이션을 컨트롤
ASP(Active Server Page)
: 마이크로소프트 사에서 만든 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어
: Window 계열에서만 수행 가능한 언어
JSP(Java Server Page)
: JAVA로 만들어진 서버용 스크립트, 다양한 운영체제 사용 가능
PHP(Professional Hypertext Preprocessor)
: 서버용 스크립트 언어, Linux, Unix, Windows 운영체제에서 사용 가능
: C, Java 등 문법이 유사, 배우기 쉬움, 웹 페이지 제작
Python
: 귀도 반 로섬(Guido van Rossum)이 발표한 대화형 인터프리터 언어
: 객체지향 기능 지원, 플랫폼에 독립적, 문법이 간단
쉘 스크립트
: 유닉스 / 리눅스 계열의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성
: 컴파일 단계 없어 실행 속도 빠름
: 저장시 확장자로 '.sh' 붙음
: 종류 - Bash Shell, Bourne Shell, C Shell, Korn Shell 등
: 사용되는 제어문
- 선택형 : if, case
- 반복형 : for, while, until
Basic
: 절차지향 기능을 지원, 대화형 인터프리터 언어, 초보자도 쉽게 사용하는 문법 구조
13. 라이브러리
라이브러리의 개념
프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수, 데이터들 미리 만들어 모아 놓은 집합체
- 반복적인 코드 작성을 피하기 위해, 언제든지 호출하여 사용
- 도움말, 설치 파일, 샘플 코드 등 제공
- 모듈과 패키지 모두 의미
: 모듈 - 하나의 기능이 한 개의 파일로 구현된 형태
: 패키지 - 하나의 패키지 폴더 안에 여러 개의 모듈을 모아 놓은 형태
- 표준 라이브러리, 외부 라이브러리
: 표준 라이브러리 - 기본적으로 포함되어 있는 라이브러리, 여러 종류의 모듈이나 패키지 형태
: 외부 라이브러리 - 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유, 다운로드하여 설치 후 사용
C언어의 대표적인 표준 라이브러리
헤더 파일로 제공, 각 헤더 파일에 응용 프로그램 개발에 필요한 함수들 정리
- '#include <stdio.h>'와 같이 include문을 이용해 선언 후 사용
stdio.h : 데이터의 입 / 출력에 사용되는 기능 제공, printf, scanf, fprintf, fscanf, fclose, fopen 함수
math.h : 수학 함수 제공, sqrt, pow, abs 함수
string.h : 문자열 처리에 사용되는 기능 제공, strlen, strcpy, strcmp 함수
stdlib.h : 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능 제공, atoi, atof, srand, rand, malloc, free 함수
time.h : 시간 처리에 사용되는 기능 제공. time, clock 함수
JAVA의 대표적인 표준 라이브러리
패키지에 포함하여 제공, 각 패키지에 JAVA 응용 프로그램 개발에 필요한 함수들이 클래스로 정리
- 'import java.util'과 같이 import문을 이용해 선언 후 사용
- 클래스와 메소드를 마침표(.)로 구분하여 사용
java.lang
: 기본적으로 필요한 인터페이스, 자료형, 예외 처리 등 관련된 기능 제공, import문 없어도 사용
: String, System, Process, Runtime, Math, Error 클래스
java.util
: 날짜 처리, 난수 발생, 복잡한 문자열 처리 등 관련된 기능 제공
: Date, Calender, Random, StringToKenizer 클래스
java.io
: 파일 입 / 출력과 관련된 기능 및 프로토콜 제공
: InputStream, OutputStream, Reader, Writer 클래스
java.net
: 네트워크와 관련된 기능 제공
: Socket, URL, InetAddress 클래스
java.awt
: 사용자 인터페이스와 관련된 기능 제공
: Frame, Panel, Dialog, Button, Checkbox 클래스
14. 예외 처리
예외 처리의 개요
정상적인 실행을 방해하는 조건, 상태를 예외(문법 오류는 예외 아님)라고 하며, 프로그래머가 대비하여 작성해 놓은 처리 루틴을 수행하도록 하는 것
- 일반적인 처리 루틴은 프로그램 종료, 로그 남기기
- C++, Ada, JAVA, JavaScript와 같은 언어는 예외 처리 기능이 내장, 그 외 언어는 조건문을 이용해 예외 처리 루틴 작성
- 컴퓨터 하드웨어 문제, 운영체제 설정 실수, 라이브러리 손상, 사용자의 입력 실수, 받아들일 수 없는 연산, 할당 못하는 기억장치 접근 등
JAVA의 예외 처리
잘못된 동작, 결과에 영향 주는 예외를 객체로 취급, java.lang 패키지에서 제공
- try ~ catch 문 이용
- try 블록 코드 수행하다가 예외가 발생하면 예외를 처리하는 catch 블록으로 이동하여 예외 처리 코드 수행, 이후 코드는 실행되지 않음
- catch 블록에서 선언한 변수는 해당 블록에서만 유효
- 중첩된 try ~ catch 문 가능
- 실행 코드가 한 줄이라도 중괄호 생략 불가
try {
예외가 발생할 가능성이 있는 코드;
}
catch (예외객체1 매개변수) {
예외객체1에 해당하는 예외 발생 시 처리 코드;
}
catch (예외객체n 매개변수) {
예외객체n에 해당하는 예외 발생 시 처리 코드;
}
catch (Exception 매개변수) {
예외객체1 ~ n에 해당하지 않는 예외 발생 시 처리 코드;
}
finally {
예외 발생 여부와 관계없이 무조건 처리되는 코드;
}
- 예외 발생 : try문 > 해당 예외 catch문 > finally문
- 예외가 발생하지 않은 경우 : try문 > finally문
- finally문은 무조건 수행되는 블록으로 생략 가능
JAVA의 주요 예외 객체
ClassNotFoundException : 클래스를 찾지 못한 경우
NoSuchMethodException : 메서드를 찾지 못한 경우
FileNotFoundException : 파일 찾지 못한 경우
InterruptedIOException : 입 / 출력 처리가 중단된 경우
ArithmeticException : 0으로 나누는 등 산술 연산에 대한 예외 발생한 경우
IllegalArgumentException : 잘못된 인자 전달한 경우
NumberFormatException : 숫자 형식으로 변환할 수 없는 문자열을 숫자 형식으로 변환한 경우
ArrayIndexOutOfBoundsException : 배열의 범위를 벗어난 접근을 시도한 경우
NegativeArraySizeException : 0보다 작은 값으로 배열 크기 지정한 경우
NullPointerException : 존재하지 않는 객체를 참조한 경우
출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)
'💠기타 > 정보처리기사' 카테고리의 다른 글
[정처기 필기] 「4」 | 응용 SW 기초 기술 활용 - (3.2) 기억장치 관리, 가상기억장치 구현 / 페이지 교체 (1) | 2024.02.16 |
---|---|
[정처기 필기] 「4」 | 응용 SW 기초 기술 활용 - (3.1) 운영체제의 개념, Windows, UNIX / LINUX / MacOS (1) | 2024.02.16 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.6) Python의 기초, 활용 (생략) (1) | 2024.02.15 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.5) 포인터, 구조체 (0) | 2024.02.15 |
[정처기 필기] 「4」 | 프로그래밍 언어 활용 - (2.4) 제어문, 반복문, 배열과 문자열 (생략) (0) | 2024.02.14 |