- Python
- 객체지향 기능을 스크립트 언어
- Python 예제
① 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 에 abc123, def456, ghi789를 초기값으로 지정
- ③ : a 리스트의 마지막에 x의 입력값(xyz321) 을 추가
- ④ : a 리스트에서 def456을 삭제하고 요소들을 앞으로 하나씩 이동
- ⑤ : a[1]과 a[2]를 슬라이스하고 쉼표(,)로 구분하여 출력
- a[1][-3:]
- a[1]의 문자열 ghi789의 -3 위치부터 마지막 요소까지 출력 → 789 출력
- a[2][:-3]
- a[2]의 문자열 xyz321의 맨 처음 요소부터 -4까지의 요소 출력 → xyz 출력
- 결과 : 789, xyz
- a[1][-3:]
- ⑥ : 3에서 5(6-1)까지 순서대로 i에 저장하며 ⑦을 반복수행
- ⑦ : i의 값을 출력하고 종료문자로 공백 한칸 출력
- 결과
- 789, xyz
- 3 4 5
- Python 예제 2
① a = {'apple', 'lemon', 'banana'}
② a.update( {'kiwi', 'banana'} )
③ a.remove('lemon')
④ a.add('apple')
⑤ for i in a :
⑥ print(i)
- ① : 세트 a를 선언하면서 초기값으로 apple, lemon, banana 지정
- ② : a 세트에 새로운 세트를 추가하여 확장 → a 세트에 kiwi 추가 (banana는 이미 있음)
- ③ : a 세트에서 lemon을 제거
- ④ : a 세트에 apple을 추가 → 이미 apple이 있으므로 변경 없음
- ⑤ : a 세트의 각 요소의 값을 차례로 i에 저장하면서 a 세트의 요소 수 많큼 반복수행
- ⑥ : i의 값을 출력한 후 커서를 다음 줄로 옮김
- 결과
- apple
- banana
- kiwi
- Python 리스트 관련 주요 메소드
- pop() : 리스트의 ()위치의 값을 출력하고 해당 요소를 삭제
- index() : 리스트에서 ()값이 저장된 요소의 위치 반환
- count() : 리스트에서 ()값이 저장되어 있는 요소들의 개수를 반환
- extend() : 리스트의 끝에 새로운 리스트를 추가하여 확장
- reverse() : 리스트의 순서를 역순으로 뒤집음
- sort() : 리스트를 정렬, 기본값은 오름차순
- Ture : 내림차순 // False : 오름차순
- copy() : 리스트 복사
- 절차적 프로그래밍 언어
- 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어
- 데이터를 중심으로 프로시저를 구현
- 종류
- C
- 1972년 미국 벨 연구소의 데니스 리치에 의해 개발
- 고급 프로그래밍 언어 이면서 저급 프로그램 언어의 특징을 모두 갖춤
- 저급 언어 : 기계 친화적 언어
- 고급 언어 : 인간 친화적 언어
- 이식성이 좋음
- ALGOL
- 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어
- PASCAL과 C언어의 모체
- COBOL
- 사무 처리용 언어
- 4개의 Division(Identification, Environment, Data, Procedure)로 구성
- FORTRAN
- 과학 기술 계산용 언어
- C
- 객체 지향 프로그래밍 언어
- 현실세계의 개체를 하나의 객체로 만들고, 그 객체들을 조립해서 프로그램을 작성하는 기법
- 종류
- JAVA
- 분산 네트워크 환경에 적용 가능
- 멀티 스레드 기능 제공
- 운영체제 및 하드웨어에 독립적이고 이식성 좋음
- C++
- C언어에 객체지향 개념을 적용한 언어
- Smalltalk
- 1세대 객체지향 프로그래밍 언어
- 최초로 GUI를 제공
- JAVA
- 스크립트 언어
- HTML문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 언어
- 분류
- 클라이언트 사이드 스크립트 언어
- 클라이언트의 웹 브라우저에서 해석되어 실행
- 종류
- 자바 스크립트 (Java Script)
- 웹 페이지의 동작을 제어하는데 사용
- 클래스가 존재하지 않으며 변수 선언도 필요 없음
- 서버에서 데이터를 전송할 때 아이디, 비빈번호, 수량 등의 입력 사항을 확인하기 위한 용도로 많이 사용
- VB 스크립트 (Visual Basic Script)
- 마이크로소프트 사에서 자바스크립트에 대응하기 위해 제작
- Active X를 사용하여 마이크로소프트 사의 애플리케이션들을 컨트롤 할 수 있음
- Active X : 마이크로소프트 사에서 윈도우 환경의 응용 프로그램과 웹을 연결하기 위해 개발한 기술
- 자바 스크립트 (Java Script)
- 서버 사이드 스크립트 언어
- 서버에서 해석되어 실행된 후 결과만 클라이언트로 보냄
- 종류
- ASP (Active Server Page)
- 서버 특에서 동적으로 수행되는 페이지를 만들기 위한 언어
- 마이크로소프트 사에서 제작
- 윈도우 계열에서만 수행 가능
- JSP (Java Server Page)
- JAVA로 만들어진 서버용 스크립트 언어
- 다양한 운영체제에서 사용 가능
- PHP (Professional Hypertext Preprocessor)
- Linux, Unix, Windows 운영체제에서 사용 가능한 서버용 스크립트 언어
- C, Java와 문법이 유사, 웹 페이지 제작에 많이 사용
- 파이썬 (Python)
- 객체지향 기능을 지원하는 대화형 인터프리터 언어
- 인터프리터 언어 : 원시 프로그램을 줄 단위로 번역하여 바로 실행해주는 언어
- 플랫폼에 독립적
- 객체지향 기능을 지원하는 대화형 인터프리터 언어
- 쉘 스크립트
- 유닉스/리눅스 계열의 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성
- Basic
- 절차지향 기능을 지원하는 대화형 인터프리터 언어
- ASP (Active Server Page)
- 클라이언트 사이드 스크립트 언어
- 선언형 언어
- 프로그램이 수행해야 할 문제를 기술하는 언어
- 목표를 명시하고 알고리즘은 명시하지않음
- 분류
- 함수형 언어
- 수학적 함수를 조합하여 문제를 해결하는 언어
- 재귀호출이 자주 사용
- 종류 : LISP
- 논리형 언어
- 기호 논리학에 기반을 둔 언어
- 반복문이나 선택문을 사용하지 않음
- PROLOG
- 함수형 언어
- 종류
- LISP
- 인공지능 분야에 사용되는 언어
- 기본 자료 구조가 연결 리스트 구조
- 재귀호출을 많이 사용
- PROLOG
- 논리학을 기초로 한 고급언어
- 인공지능 분야에서 논리적인 추론이나 리스트 처리 등에 주로 사용
- HTML
- 인터넷의 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어
- XML
- 기존 HTML의 단점을 보완
- 사용자가 새로운 태그(Tag) 정의 가능
- Haskell
- 함수형 프로그래밍 언어
- 부작용이 없음
- LISP
- 명령형 언어
- 문제를 해결하기 위한 방법을 기술하는 언어
- 폰노이만 구조에 개념적인 기초
- 종류 : FORTRAN, COBOL, C, JAVA 등..
- 라이브러리
- 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
- 분류
- 표준 라이브러리
- 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리
- 여러 종류의 모듈이나 패키지 형태
- 외부 라이브러리
- 개발자들이 필요한 기능들을 만들어 공유해 놓은 라이브러리
- 외부 라이브러리를 다운받아 설치한 후 사용
- 표준 라이브러리
- C언어의 대표적인 표준 라이브러리
- 헤더파일로 제공
- #include 문을 이용
- 종류
- stdio.h : 데이터의 입.출력에 사용되는 기능 제공
- math.h : 수학 함수 제공
- string.h : 문자열 처리에 사용되는 기능 제공
- stdlib.h : 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능 제공
- time.h : 시간 처리에 사용되는 기능 제공
- Java의 대표적인 표준 라이브러리
- 패키지에 포함하여 제공
- import 문을 이용
- 종류
- java.lang : 기본적으로 필요한 인터페이스, 자료형 등에 관련된 기능을 제공, import문 필요 없음
- java.util : 날짜 처리, 난수 발생 등에 관련된 기능을 제공
- java.io : 파일 입.출력과 관련된 기능 및 프로토콜 제공
- java.net : 네트워크와 관련된 기능 제공
- java.awt : UI와 관련된 기능 제공
- Python의 대표적인 표준 라이브러리
- 종류
- 내장 함수 : 기본적인 인터페이스
- os : 운영체제와 상호작용 하기 위한 기능 제공
- re : 고급 문자열 처리를 위한 기능 제공
- math : 복잡한 수학 연산을 위한 기능 제공
- random : 무작위 선택을 위한 기능 제공
- statistics : 통계값 산출을 위한 기능 제공
- datetime : 날짜와 시간 조작을 위한 기능 제공
- 종류
- 예외 처리
- 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴이 수행되도록 하는 것
- C++, Ada, Java, 자바스크립트와 같은 언어에는 예외 처리 기능이 내장되어 있음
- 예외 원인
- 하드웨어 문제
- 운영체제 설정의 실수
- 라이브러리 손상
- 사용자의 입력 실수
- 받아들일 수 없는 연산
- 할당하지 못하는 기억장치 접근
- Java의 예외 처리
- 예외를 객체로 취급함
- try~catch문을 이용해 예외 처리
- 주요 예외 객체
- ClassNotFoundException : 클래스를 찾지 못한 경우
- NoSuchMethodException : 메소드를 찾지 못한 경우
- FileNotFoundException : 파일을 찾지 못한 경우
- InterruptedIOException : 입.출력 처리가 중단된 경우
- ArithmeticException : 0으로 나누는 등의 산술 연산에 대한 예외가 발생한 경우
- IllegalArgumentException : 잘못된 인자를 전달한 경우
- NumberFormatException : 숫자 형식으로 변환할 수 없는 문자열을 숫자 형식으로 변환한 경우
- ArrayIndexOutOdBoundsException : 배열의 범위에 벗어난 접근을 시도한 경우
- NegativeArraySizeException : 0보다 작은 값으로 배열의 크기를 지정한 경우
- NullPointerException : 존재하지 않는 객체를 참조한 경우
'정보처리기사_실기' 카테고리의 다른 글
정보처리기사 176 ~ 191 (OSI 참조모델 ~ 데이터 표준화) (1) | 2022.07.05 |
---|---|
정보처리기사 163 ~ 175 (운영체제 개념 ~ 인터넷) (0) | 2022.07.03 |
정보처리기사 149 ~ 155 (데이터 입.출력 ~ JAVA 활용) (0) | 2022.06.30 |
정보처리기사 133 ~ 148 (Secure SDLC ~ 취약점 분석.평가) (0) | 2022.06.29 |
정보처리기사 118 ~ 123 (DDL ~ DML) (0) | 2022.06.27 |