본문 바로가기
IT Story/일상

[자격증] 정보처리기사 실기 - 합격을 위한 암기 요약본_프로그래밍 언어 활용(2)

by ITDeveloperPJM 2021. 7. 9.

15). 사용자 정의 함수
 - 사용자가 필요한 기능을 취향대로 만들어 사용할 수 있는 함수이다.
 - 사용자 정의 함수를 이용하면 프로그램 구조가 간단해지고 이해하기 쉬워진다.
 - 동일한 코드의 반복 입력을 줄일 수 있다.

16). 재귀 함수
 - 자기가 자기를 호출하는 순환 프로그램을 의마한다.
 - 재귀 함수는 순환하는 만큼 반복하여 실행하면서 변수에 저장된 값을 추적하면 결과를 이해하기 쉽다.

17). Java의 클래스와 메소드
 - 클래스는 객체 생성을 위한 필드와 메소드를 정의하는 설계도로, Java는 아무리 작은 프로그램이라도 클래스를 만들어서 사용해야 한다.

18). Python의 기초
 - input() 함수
  - Python의 표준 입력 함수로, 키보드로 입력받아 변수에 저장하는 함수이다.
  - 입력되는 값은 문자열로 취급되어 저장된다.

 - print() 함수
  - Python의 표준 출력 함수로, 값을 화면에 출력하는 함수이다.

 - 리스트(List)
  - C와 Java에서는 여러 요소들을 한 개의 이름으로 처리할 때 배열을 사용하지만 Python에서는 리스트를 사용한다.

 - Range
  - 연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용된다.

 - 슬라이스(Slice)
  - 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라 반환하는 기능이다.

19). 라이브러리 - C언어
 - 라이브러리는 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체이다.
 
 - 표준 라이브러리
  - 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리로, 여러 종류의 모듈이나 패키지 형태이다.

 - 외부 라이브러리
  - 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것으로, 외부 라이브러리를 다운받아 설치한 후 사용한다.

 - C언어의 대표적인 표준 라이브러리

  - stdio.h
   - 데이터의 입 출력에 사용되는 기능들을 제공한다.

  - math.h
   - 수학 함수들을 제공한다.

  - string.h
   - 문자열 처리에 사용되는 기능들을 제공한다.

  - stdlib.h
   - 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공한다.

  - time.h
   - 시간 처리에 사용되는 기능들을 제공한다.

20). 라이브러리 - Java
 - Java의 대표적인 표준 라이브러리

  - java.lang
   - Java에 기본적으로 필요한 인터페이스, 자료형, 예외 처리 등에 관련된 기능을 제공한다.
   - 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
   - 사용자 인터페이스(UI)와 관련된 기능을 제공한다.
   - 주요클래스 : Frame, Panel, Dialog, Button, Checkbox 등

21). 절차적 프로그래밍 언어
 - 일련의 처리 절차를 정해진 문버에 따라 순서대로 기술해 나가는 언어이다.

 - 절차적 프로그램 언어의 종류
  - C언어
   - 1972년 미국 벨 연구소의 데니스 리치에 의해 개발되었다.
   - 시스템 소프트웨어를 개발하기 편리하여 시스템 프로그래밍 언어로 널리 사용된다.
   - 자료의 주소를 조작할 수 있는 포인터를 제공한다.
   - 고급 프로그래밍 언어이면서 저급 프로그램 언어의 특징을 모두 갖췄다.
   - UNIX의 일부가 C언어로 구현되었다.
   - 컴파일러 방식의 언어이다.
   - 이식성이 좋아 컴퓨터 기종에 관계없이 프로그램을 작성할 수 있다.

  - ALGOL
   - 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어디ㅏ.
   - PASCAL과 C언어의 모체가 되었다.

  - COBOL
   - 사무 처리용 언어이다.
   - 영어 문장 형식으로 구성되어 있어 이해와 사용이 쉽다.
   - 4개의 DIVISION으로 구성되 있다.

  - FORTRAN
   - 과학 기술 계산용 언어이다.
   - 수학과 공학 분야의 공식이나 수식과 같은 형태로 프로그래밍 할 수 있다.

22). 객체지향 프로그래밍 언어
 - 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때도 객체들을 조립해서 츠로그램을 작성할 수 있도록 한 프로그래밍 기법이다.

 - 객체지향 프로그래밍 언어의 종류
  - Java
   - 분산 네트워크 환경에 적용이 가능하며, 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있다.
   - 운영체제 및 하드웨어에 독립적이며, 이식성이 강하다.
   - 캡슐화가 가능하고 재사용성 높다.

  - C++
   - C언어에 객체지향 개념을 적용한 언어이다.
   - 모든 문제를 객체로 모델링하여 표현한다.

  - Smalltalk
   - 1세대 객체지향 프로그래밍 언어 중 하나로 순수한 객체지향 프로그래밍 언어이다.
   - 최초로 GUI를 제공한 언어이다.

23). 객체지향 프로그래밍 언어의 구성 요소
 - 객체
  - 데이터와 이를 처리하기 위한 연산을 결합시킨 실체이다.
  - 데이터 구조와 그 위에서 수행되는 연산들을 가지고 있는 소프트웨어 모듈이다.
  - 속성 : 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의하는 것으로서 성질, 분류, 식별, 수량 또는 현재 상태 등을 표현한다.
  - 메소드 : 객체가 메시지를 받아 실행해야 할 때 구체적인 연산을 정의하는 것으로, 객체의 상태를 참조하거나 변경하는 수단이 된다.

 - 클래스
  - 두 개 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현하는 요소이다. 즉 공통된 특성과 행위를 갖는 객체의 집합이라고 할 수 있다.
  - 객체의 유형 또는 타입을 의미한다.
  - 데이터를 추상화하는 단위앋.

 - 메시지
  - 객체들 간에 상호작용을 하는데 사용되는 수단으로 객체의 메소드를 일으키는 외부의 요구 사항이다.
  - 메시지를 받은 객체는 대응하는 연산을 수행하여 예상된 결과를 반환하게 된다.

24). 객체지향 프로그래밍 언어의 특징
 - 캡슐화
  - 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.
  - 캡슐화된 객체의 세부 내용이 외부에 은폐되어, 변경이 발생할 때 오류의 파급 효과가 적다.
  - 캡슐화된 객체들은 재사용이 용이하다.

 - 정보은닉
  - 캡슐화에서 가장 중요한 개념으로, 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것이다.

 - 추상화
  - 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것, 즉 모델화하는 것이다.
  - 데이터의 공통된 성질을 추출하여 슈퍼 클래스를 선정하는 개념이다.

 - 상속성
  - 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것이다.
  - 상속성을 이용하면 하위 클래스는 상위 클래스의 모든 속성과 연산을 자신의 클래스 내에서 다시 정의 하지 않고서도 즉시 사용할 수 있다.

 - 다향성
  - 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 의미한다.
  - 객체들은 동일한 메소드명을 사용하며 같은 의미로 응답을 한다.

25). 스크립트 언어
 - HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것으로, 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어이다.

 - 스크립트 언어의 분류
  - 서버용 스크립트 언어
   - 서버에서 해석되어 실행된 후 결과만 클라이언트로 보내는 스크립트 언어이다.
   - 종류 : ASP, JSP, PHP, 파이썬(Python), 펄(Perl), 루비(Ruby) 등

  - 클라이언트용 스크립트 언어
   - 클라이언트의 웹 브라우저에서 해석되어 실행되는 스크립트 언어이다.
   - 종류 : 자바 스크립트(Java Script), VB 스크립트(Visual Basic Script) 등

26). 스크립트 언어의 종류
 - 자바 스크립트(Java Script)
  - 넷스케이프의 브렌던 아이크가 개발한 언어이다.
  - 웹 페이지의 동작을 제어하며, 변수 선언이 필요 없다.

 - ASP(Active Server Page)
  - 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어이다.
  - 마이크로 소프트 사에서 제작하였으며, Windows 계열서어만 수행 가능한 프로그래밍 언어이다.

 - JSP(Java Server Page)
  - Java로 만들어진 서버용 스크립트 언어이다.
  - 다양한 운영체제에서 사용이 가능하다.

 - PHP(Professional Hypertext Preprocessor)
  - 서버용 스크립트 언어로 Linux, Unix, Windows 운영체제에서 사용이 가능하다.
  - C, Java 등과 문법이 유사하여 배우기 쉽고 웹 페이지 제작에 많이 사용된다.

 - 파이썬(Python)
  - 객체지향 기능을 지원하는 대화형 인터프리터 언어이다.
  - 플랫폼에 독립적이고 문법이 간단하여 배우기 쉽다.

27). 선언형 언어
 - 프로그램이 수행해야 할 문제를 기술하는 언어로, 목표를 명시하고 알고리즘은 명시하지 않는다.
 
 - 선언형 언어의 분류
  - 함수형 언어
   - 수학적 함수를 조합하여 문제를 해결하는 언어로, 알려진 값을 함수에 적용하는 것을 기반으로 한다.
   - 대표적인 언어 : LISP

  - 논리형 언어
   - 기호 논리학에 기반을 둔 언어로, 논리 문장을 이용하여 프로그램을 표현하고 계싼을 수행한다.
   - 대표적인 언어 : PROLOG
  
 - 선언형 언어의 종류
  - HTML
   - 인터넷의 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어이다.
   - 특별한 데이터 타입이 없는 단순한 텍스트이므로 호환성이 좋고 사용이 편리하다.

  - LISP
   - 인공지능 분야에 사용되는 언어로, 기본 자료 구조가 연결 리스트 구조이며 재귀 호출을 많이 사용한다.

  - PROLOG
   - 논리학을 기초로 한 고급 언어로, 인공 지능 분야에서는 논리적인 추론이나 리스트 처리 등에 주로 사용된다.   

  - XML
   - 기존 HTML의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어 이다.
   - 사용자가 HTML에 새로운 태크를 정의할 수 있다.

  - Haskell
   - 함수형 프로그래밍 언어로, 부작용이 없고 코드가 간결하여 에러 발생 가능성이 낮다.

28). 예외 처리
 - 프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외라고 하며, 이러한 예외가 발생했을 떄 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴을 수행하도록 하는 것을 예외 처리라고 한다.
 - C++, Ada, Java, 자바 스크립트와 같은 언어에는 예외 처리 기능이 내장되어 있으며, 그 외의 언어에서는 필요한 경우 조건문을 이용해 예외 처리 루틴을 작성한다.
 - 예외의 원인
  - 하드웨어 문제
  - 운영체제의 설정 실수
  - 라이브러리 손상
  - 사용자의 입력 실수
  - 받아들일 수 없는 연산
  - 할당하지 못하는 기억장치 접근 등

29). Java의 주요 예외 객체
 - ClassNotFoundException : 클래스를 찾지 못한 경우
 - NoSuchMethodException : 메소드를 찾지 못한 경우
 - FileNotFoundException : 파일을 찾지 못한 경우
 - InterruptedIOException : 입 출력 처리가 중단된 경우
 - ArithmeticException : 0으로 나누는 등의 산술 연산에 대한 예외가 발생한 경우
 - IllegalArgumentException : 잘못된 인자를 전달할 경우
 - NumberFormatException : 숫자 형식으로 변환할 수 없는 문자열을 숫자 형식으로 변환한 경우
 - ArrayIndexOutOfBoundsException : 배열의 범위를 벗어난 접근을 시도한 경우
 - NegativeArraySizeException : 0보다 작은 값으로 배열의 크기를 지정한 경우
 - NullPointerException : 존재하지 않는 객체를 참조한 경우

 

* TXT 파일 정리 첨부드립니다.

프로그래밍 언어 활용(2).txt
0.01MB

댓글