스크립트 언어(Script Language)
스크립트 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것
기계어로 컴파일되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어
- 게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행
- 클라이언트의 웹 브라우저에서 해설되어 실행되는 클리이언트용 스크립트 언어와
서버에서 해설되어 실행된 후 결과만 클라이언트로 보내는 서버용 스크립트 언어가 있다.
◎ 서버용 스크립트 언어 ( Server Script Language ) : ASP, JSP, PHP, Python
◎ 클라이언트용 스크립트 언어 ( Client Script Language ) : 자바 스크립트 ( Java Script )
스크립트 언어의 장단점
장점 | 단점 |
컴파일 없이 바로 실행 → 결과 바로 확인 가능 | 코드를 읽고 해석해야 하므로 실행 속도의 느림 |
배우고 코딩하기 쉽다 | 런타임 오류가 자주 발생 |
짧은 개발 시간 | |
쉬운 소스 코드와 빠른 수정 및 유지보수 |
스크립트 언어의 종류
자바 스크립트 ( Java Script ) | ◎ 넷스케이프의 브렌던 아이크가 개발한 클라이언트용 스크립트 언어 ◎ 웹 페이지의 동작을 제어, 변수 선언이 필요 없다. |
ASP ( Active Server Page ) | ◎ 서버 측에서 동적으로 수행되는 페이즈를 만들기 위한 언어 ◎ 마이크로 소프트 사에서 제작 ◎ Windows 계열에서만 수행 가능 |
JSP ( Java Server Page ) | ◎ Java로 만들어진 서버용 스크립트 언어 ◎ 다양한 운영체제에서 사용 가능 |
PHP ( Professional Hypertext Preprocessor ) |
◎ 서버용 스크립트 언어 ◎ Linux, Unix, Windows 운영체제에서 사용 가능 ◎ c, java 등과 분법 유사 |
파이썬 ( Python ) | ◎ 객체지향 기능을 지원 ◎ º대화형 인터프리터 언어 ◎ 플랫폼에 독립적이고 문법 간단 |
※ 인터프리터 언어
: 원시 프로그램을 줄 단위로 변역하여 바로 실행하는 언어, 목적 프로그램 생성 X, 즉시 실행 결과 출력
선언형 언어
선언형 언어는 명령형 언어와 반대되는 개념의 언어로, 명령형 언어가 문제를 해결하기 위한 방법을 기술한다면,
선언형 언어는 프로그램이 수행해야할 문제를 기술하는 언어이다.
→ 목표를 명시하고 알고리즘은 명시하지 않는다.
→ 함수형 언어와 논리형 언어 등이 있다.
함수형 언어 | ◎ 수학적 함수를 조합하여 문제를 해결하는 언어 알려진 값을 함수에 적용하는 것을 기반 ◎ 적용형 언어 ◎ 재귀호출이 자주 이용 ◎ 병렬 처리 유리 ◎ 종류 : LISP |
논리형 언어 | ◎ 기호 논리학에 기반을 둔 언어 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행 ◎ 선언적 언어 ◎ 반복문이나 선택문을 사용 x ◎ 비절차적 언어 ◎ 종류 : PROLOG |
선언형 언어의 장단점
장점 | 단점 |
가독성이나 재사용성이 좋다 | |
작동 순서를 구체적으로 작성하지 않기 떄문에 오류 적음 | |
프로그램 동작을 변경하지 않고 관련 값 대체 가능 |
선언형 프로그래밍 언어의 종류
HTML | ◎ 인터넷의 표준 문서, 하이퍼텍스트 문서를 만들기 위해 사용하는 언어 ◎ 특별한 데이터 타입이 없는 단순한 텍스트이므로 호환성이 좋고 사용 편리 |
LISP | ◎ 인공지능 분야에 사용되는 언어 ◎ 기본 자료 구조가 연결리스트 구조 ◎ 재귀(Recursion)호출 자주 사용 |
PROLOG | ◎ 논리학을 기초로 한 곡급 언어 ◎ 인공 지능 분야에서의 논리적인 추론이나 리스트 처리등에 사용 |
XML | ◎ 기존 HTML의 단점 보완 ◎ 웹에서 구조화돈 폭넓고 다양한 문서들을 상호 교환 가능한 언어 ◎ HTML에 사용자가 새로운 태그를 정의 가능 ◎ 문서의 내용과 이를 표현하는 방식이 독립적 |
Haskell | ◎ 함수형 프로그래밍 언어로 부작용(Side Effect) X ◎ 코드가 간결, 에러 발생 가능성이 낮음 |
명령형 언어
순차적인 명령 수행을 기본으로 하는 언어로, 문제를 처리하기 위한 방법에 초점을 두고 코드를 작성
- 폰노이만 구조에 개념적인 기초를 두고 있다.
- 명령형 언어는 알고리즘을 명시하고 목표는 명시하지 않는다.
- 특정 구문의 연산을 이용하여 상태를 변경시키고 프로그램을 동작시킴
- 객체의 동작과 상태를 중요시 한다.
- 명령형 언어에는 절차적 언어와 객체지향 언어가 있다
종류 : FORTRAN, COBOL, C, Java 등
예외 처리(Exception Handling )
◎ 예외(Exception)
프로그램의 정상적인 실행을 방해하는 조건이나 상태
◎ 예외 처리(Exception Handling)
위와 같은 예외 상황을 대비해 작성해 놓은 처리 루틴을 수행하도록 하는 것
- 예외 발생 시 일반적인 처리 루틴은 프로그램을 종료 혹은 로그를 남기는 것
- C++, Ada, Java, 자바스크립트와 같은 언어에는 예외처리기능이 내장되어 있다
- 그 외 언어에서는 필요한 경우 조건문을 이용해 예외 처리
- 예외 처리의 원인 : 컴퓨터 하드웨어 문제, 운영체제 설정 실수, 라이브러리 손상, 사용자 입력 실수, 받을 수 없는 연산, 할당 못하는 기억 장치 등
JAVA의 예외처리
JAVA는 예외를 객체로 취급, 예외와 관련된 클래스를 java.lang 패키지에서 제공
◎ try ~ catch 문을 이용해 예외 처리
◎ try 블록 코드를 수행하다 예외 발생 시 예외를 처리하는 catch 블록으로 이동 예외처리 코드 수행
◎ catch 블록에서 선언한 변수는 해당 catch블록에서만 유효
◎ try ~ catch문안에 또다른 try ~ catch문 포함 가능
try{
예외가 발생할 가능성이 있는 코드;
}
catch(예외객체1 매개변수){
예외객체1에 해당하는 예외 발생 시 처리 코드;
}
catch(예외객체2 매개변수){
예외객체2에 해당하는 예외 발생 시 처리 코드;
}
catch(예외객체n 매개변수){
예외객체n에 해당하는 예외 발생 시 처리 코드;
}
catch(Exception 매개변수){
예외객체 1~n에 해당하지 않는 예외 발생 시 처리 코드;
}
finally {
예외 발생 여부와 관계없이 무조건 처리되는 코드;
}
JAVA의 주요 예외 객체
예외 객체 | 발생 원인 |
ClassNotFoundException | 클래스를 찾지 못한 경우 |
NoSuchMethodException | 메소드를 찾지 못한 경우 |
FileNotFoundException | 파일을 찾지 못한 경우 |
InterruptedIOException | 입출력처리가 중단된 경우 |
ArithmeticException | 0으로 나누는 등의 산술연산에 대한 예외가 발생한 경우 |
IllegalArgumentException | 잘못된 인자를 전달한 경우 |
NumberFormatException | 숫자 형식으로 변환할 수 없는 문자열을 숫자 형식으로 변환한 경우 |
ArrayIndexOutOfBoundsException | 배열의 범위를 벗어난 접근을 시도한 경우 |
NegativeArraySizeException | 0보다 작은 값으로 배열의 크기를 지정한 경우 |
NullPointerException | 존재하지 않는 객체를 참조한 경우 |
'정보처리이론' 카테고리의 다른 글
2-2 요구사항 정의 (0) | 2020.10.20 |
---|---|
2-1 현행시스템과 개발 기술 환경 파악 (0) | 2020.10.20 |
1-7. 절차적 프로그래밍 언어와 객체지향 프로그래밍 언어 (0) | 2020.10.18 |
1-6. Python 의 기초와 라이브러리 (0) | 2020.10.17 |
1-5. 포인터와 사용자정의함수 (0) | 2020.10.17 |