자격증/정보처리기사

chapter 06. 프로그래밍 언어 활용

yeonx 2022. 4. 25. 18:09
728x90

배열

1차원 배열 선언 [2020년 1회]

㉮ C언어의 1차원 배열 선언

구분 선언
초깃값이 없는 경우 타입 배열명[배열_요소_개수];
초깃값이 있는 경우 타입 배열명[배열_요소_개수]={초깃값};
  • 배열 요소 개수에 정의된 숫자만큼 같은 타입의 데이터 공간이 할당된다.
  • 초깃값을 선언하지 않을 경우 쓰레깃값이 저장된다.
  • 배열 요소 개수보다 적은 개수만큼 초기화할 경우 초깃값이 명시되지 않은 값들은 자동으로 0으로 초기화된다.

㉯ 자바의 배열 선언

구분 선언
초깃값이 없는 경우 타입 []배열명 = new 타입[배열_요소_개수];
타입 배열명[] = new 타입[배열_요소_개수];
초깃값이 있는 경우 타입 []배열명 = {초깃값};
  • 배열 요소 개수에 정의된 숫자만큼 같은 타입의 데이터 공간이 선언된다.
  • 배열 요소 개수를 명시하지 않고 초깃값이 정의되어 있을 경우 초깃값 개수만큼 공간이 선언된다.
  • 초깃값을 선언하지 않을 경우 정수일 때는 0, 실수일 때는 0.0, 문자열일 때는 NULL이 저장되어 있다.
  • 불린, 문자, 정수, 실수 등을 배열로 선언할 때 사용한다.
  • 자바에서 배열의 크기를 구할 때는 length 속성을 사용한다.

㉯-2 자바 언어의 2차원 배열 선언 [2021년 3회]

구분 선언
초깃값이 없는 경우 타입 [][]배열명 = new 타입[행의 개수][열의 개수];
타입 배열명[][] = new 타입[행의 개수][열의 개수];
초깃값이 있는 경우 타입 [][]배열명 = {{초깃값}, {초깃값},   };
  • 배열 요소 개수에 정의된 숫자만큼 같은 타입의 데이터 공간이 선언됨
  • 배열 요소 개수를 명시하지 않고 초깃값이 정의되어 있을 경어 초깃값 개수만큼 공간이 선언된다.
  • 초깃값을 선언하지 않을 경우 정수일 때는 0, 실수일 때는 0.0, 문자열일 때는 NULL이 저장되어 있다.
  • 불린, 문자, 정수, 실수 등을 배열로 선언할 때 사용
  • 자바에서 배열의 크기를 구할 때는 length 속성을 사용함

 

배열과 포인터

1차원 배열과 1차원 포인터 [2021년 2회]

  • 1차원 배열에서 배열명만 단독으로 사용할 경우 1차원 포인터와 동일하다.
  • 1차원 배열일 때 배열명[요소] 형태, *(배열명+요소), 1차원 포인터일 때 포인터[요소] 형태, *(포인터+요소)일 경우 값을 가리킨다.
  • 데이터_타입 배열명[요소];일 때 다음 코드는 동일하다.
구분 코드
배열의 주소 배열명==&배열명[0];
배열의 0번지 값 배열명[0]==*배열명;

 

 

파이썬 [2020년 2회]

자료형 설명
세트형 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료구조
리스트형 크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료구조
튜플형 초기에 선언된 값에서 생성, 삭제, 수정이 불가능한 형태의 자료구조
딕셔너리형 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료구조

① 세트(Set)형

㉮ 세트형 개념

세트형은 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료형이다.

 

㉯ 세트형 선언

세트형 = set([요소1, 요소2, ...])

세트명 = {요소1, 요소2, ...}

 

set라는 키워드로 세트형을 초기화하거나 {, }를 이용하여 세트형을 선언

 

㉰ 세트형 메서드

메서드 설명
add(값) 값을 1개 추가하는 메서드
update([값1, 값2, ...]) 여러 개의 값을 한꺼번에 추가하는 메서드
remove(값) 특징 값을 제거하는 메서드

② 리스트(List)형

㉮ 리스트형 개념

리스트는 크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료형이다.

 

㉯ 리스트형 선언

리스트명 = [요소1, 요소2, ...]

 

[, ]를 이용하여 리스트형을 선언한다.

 

㉰ 리스트형 메서드

메서드 설명
append(값) 리스트 마지막 요소 뒤에 값을 추가하는 메서드
insert(인덱스, 값) 리스트의 인덱스 위치에 값을 삽입하는 메서드
remove(값) 리스트에서 해당하는 값을 제거하는 메서드
해당하는 값이 여러 개 있을 경우 가장 앞에 있는 값을 제거

 

㉱ 리스트 인덱싱

  • 리스트는 여러 값으로 이루어져 있는데 인덱스를 이용해서 중간값에 접근할 수 있다.
  • 리스트가 n개의 값을 가질 때 인덱스는 다음과 같다.
첫 번째 요소 두 번째 요소 ... 뒤에서 두 번째 요소 마지막 요소
0 1 ... (n-2) (n-1)
-n -(n-1)   -2 -1

 

㉲ 리스트 슬라이싱

리스트 슬라이싱은 리스트에서 여러 개의 데이터에 동시에 접근한느 기법이다.

향태 설명
시작
인덱스
- 슬라이싱을 시작할 인덱스
- 시작할 경우 '리스트명[: 종료_인덱스]' 또는 '리스트명[: 종료_인덱스 : 스텝]' 형태가 됨
- 생략할 경우 처음부터 슬라이싱
종료
인덱스
- 슬라이싱을 종료할 인댁스
- 종료 인덱스에 있는 인덱스 전까지만 슬라이싱
- 생략할 경우 '리스트명[시작_인덱스 : ]' 또는 '리스트명[시작_인덱스: :스텝]' 형태가 됨
- 생략할 경우 마지막까지 슬라이싱
스텝 - 몇 개씩 끊어서 슬라이싱을 할지 결정하는 값
- 생략할 경우 '리스트명[시작_인덱스 : 종료_인덱스]' 또는 '리스트명[시작_인덱스 : 종료_인덱스 : ]' 형태가 됨
- 생략할 경우 1이 기본값

 

③ 튜플형

㉮ 튜플(Tuple)형 개념

튜플형은 초기에 선언된 값에서 값을 생성, 삭제, 수정이 불가능한 형태의 자료형이다.

 

㉯ 튜플형 선언

튜플명 = (요소1, 요소2, ...)

(,)를 이용하여 튜플형을 선언한다.

 

 

㉰ 튜플 인덱싱

  • 튜플은 여러 값으로 이루어져 있는데 인덱스를 이용해서 중간값에 접근할 수 있다.
  • 튜플이 n개의 값을 가질 때 인덱스는 다음과 같다.
첫 번째 요소 두 번째 요소 ... 뒤에서 두 번째 요소 마지막 요소
0 1 ... (n-2) (n-1)
-n -(n-1)   -2 -1

 

㉱ 튜플 슬라이싱

튜플 슬라이싱은 튜플에서 여러 개의 데이터에 동시에 접근하는 기법이다.

 

 

④ 딕셔너리형

㉮ 딕셔너리(Dictionary)형 개념

딕셔너리형은 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료형이다.

 

㉯ 딕셔너리형 선언

딕셔너리명 = {키1:값1, 키2:값2, ...}

{, } 안에 콜론(:)을 이용하여 키와 값을 구분하여 선언한다.

 

㉰ 딕셔너리형 요소 추가

딕셔너리명[키] = 값

  • 기존 변수에 키와 값을 추가한다.
  • 기존 변수에 해당 키에 해당하는 값이 있었으면 값을 변경한다.

㉱ 딕셔너리형 요소 삭제

del 딕셔너리명[키]

기존 변수에서 해당 키와 키에 해당하는 값을 삭제한다.

 

 

식별자

식별자 표기법 [2020년 3회]

표기법 설명
카멜 표기법
(Camel Case)
식별자 표기 시에 여러 단어가 이어지면 첫 단어 시작만 소문자로 표시하고, 각 단어의 첫 글자는 대문자로 지정하는 표기법
파스칼 표기법
(Pascal Case)
식별자 표기 시에 여러 단어가 이어지면 각 단어의 첫 글자는 대문자로 지정하는 표기법
스네이크 표기법
(Snake Case)
식별자 표기 시에 여러 단어가 이어지면 단어 사이에 언더바를 넣는 표기법
헝가리안 표기법
(Hungarian Case)
식별자 표기 시 두어에 자료형을 붙이는 표기법
식별자 표기 시에 int형일 경우 n,  char형일 경우 c, 문자열일 경우 sz를 붙임

 

 

연산자 종류 상세 [2021년 3회]

증감 연산자(Increment & Decrement Operator)

증감 연산자는 피연산자를 1씩 증가 혹은 1씩 감소시킬 때 사용하는 연산자이다.

연산자 내용
++x 변수의 값을 1 증가시킨 후에 해당 변수를 사용하는 연산자
x++ 변수를 사용한 후에 변수의 값을 1 증가시키는 연산자
--x 변수의 값을 1 감소시킨 후에 해당 변수를 사용하는 연산자
x-- 변수를 사용한 후에 변수의 값을 1 감소시키는 연산자

 

시프트 연산자(Shift Operator) [2021년 2회]

시프트 연산자는 비트를 이동시키는 연산자이다.

연산자 내용
<< 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동하는 연산자
>> 왼쪽 값에 오른쪽 값만큼의 부호 비트를 채우면서 오른쪽으로 이동하는 연산자

 

관계 연산자(Relation Operate) [2021년 3회]

관계 연산자는 두 피연산자 사이의 크기를 비교하는 연산자이다.

연산자 내용
> 왼쪽에 있는 값이 오른쪽에 있는 값보다 크면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
< 왼쪽에 있는 값이 오른쪽에 있는 값보다 작으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
>= 왼쪽에 있는 값이 오른쪽에 있는 값보다 크거나 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
<= 왼쪽에 있는 값이 오른쪽에 있는 값보다 작거나 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
== 왼쪽에 있는 값이 오른쪽에 있는 값과 같으면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자
!= 왼쪽에 있는 값이 오른쪽에 있는 값과 다르면 참을 반환하고, 그렇지 않으면 거짓을 반환하는 연산자

 

대입 연산자(Assignment Operator) [2021년 3회]

  • 대입 연산자는 변수에 값을 대입할 때 사용하는 연산자이다.
  • 오른쪽에 있는 값을 이용해 왼쪽의 변수에 값을 대입한다.
연산자 내용
= 왼쪽의 변수에 오른쪽의 값을 대입하는 연산자
+= 왼쪽의 변수에 오른쪽의 값을 더한 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
-= 왼쪽의 변수에 오른쪽의 값을 뺀 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
*= 왼쪽의 변수에 오른쪽의 값을 곱한 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
/= 왼쪽의 변수에 오른쪽의 값을 나눈 후, 그 결과값을 왼쪽의 변수에 대입하는 연산자
%= 왼쪽의 변수에 오른쪽의 값을 나눈 후, 그 나머지를 왼쪽의 변수에 대입하는 연산자
, 동시에 여러 개의 값을 대입하는 연산자
파이썬에서만 제공하는 연산자

 

switch 문 [2020년 1회]

  • 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 명령어이다.
  • 파이썬 언어에서는 switch 문이 존재하지 않는다.
  • switch 문에서는 조건에 해당하는 case로 이동한다.
  • 해당하는 case가 종료되었을 때 break가 있으면 switch 문을 빠져나온다.
  • break가 존재하지 않을 경우 break를 만날 때까지 switch 문에 있는 다른 문장을 실행한다.

 

일반 for 문 [2021년 1회, 2회]

초기식, 조건식, 증감식을 지정하여 반복하는 명령어이다.

 

① C, 자바 언어에서의 for 문

 

② 파이썬에서의 for 문

  • range 함수에서 사작을 생략하면 0, 스텝 값을 생략하면 1이 자동으로 들어간다.
  • range 함수에 값이 하나일 경우 시작 = 0, 스텝 = 1이 자동으로 들어가고, range 함수에 값이 두 개일 경우 스텝 = 1이 자동으로 들어간다.

 

for each 문 [2021년 1회]

for each 문은 배열이나 리스트의 크기만큼 반복하는데, 반복할 때마다 배열이나 리스트의 항목을 순차적으로 변수에 대입하는 반복문이다.

 

자바 for each 문

for(제어변수 : 배열){

    문장;

}

 

② 파이썬 for each 문 

for 변수 in 리스트:

    문장

 

 

1차원 구조체 배열과 1차원 구조체 포인터 [2021년 1회, 3회]

  • 1차원 구조체 배열에서 배열명만 단독으로 사용할 경우 1차원 구조체 포인터와 동일하다.
  • 1차원 구조체 배열일 때 배열명[요소].변수명 형태, (*(배열명+요소))..변수명, 배열명->변수명 형태, (배열명+요소)->변수명 형태로 값을 가리킨다.
  • 1차원 포인터일 때 포인터[요소].변수명 형태, (*(포인터+요소)).변수명, 포인터->변수명 형태, (포인터+요소)->변수명 형태로 값을 가리킨다.

 

사용자 정의 함수

사용자 정의 함수 개념 [2021년 2회]

사용자 정의 함수는 사용자가 직접 새로운 함수를 정의하여 사용하는 방법이다.

 

 

클래스(Class)

클래스 선언 [2020년 2회]

클래스를 일반변수로 선언한 경우 선언함과 동시에 생성자가 호출되고, 일반변수로 선언한 곳에서 함수가 종료되면 소멸자가 호출된다.

 

 

생성자(Constructor) [2020년 4회]

  • 생성자는 해당 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메서드이다.
  • 생성자는 일반적으로 클래스의 멤버 변수를 초기화하거나 클래스를 사용하는데 필요한 경우 사용한다.
  • 자바에서는 클래스 명과 동일한 메서드명을 가지고, 반환 값이 없다.
  • 파이썬에서는 __init__이라는 메서드명을 사용하고, 첫 번째 매개변수로 self를 적어주며, 반환값이 없다. 

 

오버라이딩(Overriding) [2021년 2회]

오버라이딩은 하위 클래스에서 상위 클래스 메서드를 재정의할 수 있는 기능이다.

오버라이딩 특징은 다음과 같다

- 오버라이드하고자 하는 메서드가 상위 클래스에 존재하여야 한다.
- 메서드 이름은 같아야 한다.
-  메서드 매개변수 개수, 데이터 타입이 같아야 한다.
- 메서드 반환형이 같아야 한다.

 

 

[참고 : 수제비 2022]

'자격증 > 정보처리기사' 카테고리의 다른 글

chapter 08. 서버 프로그램 구현  (0) 2022.05.02
chapter 07. SQL 응용  (1) 2022.04.27
chapter 05. 인터페이스 구현  (0) 2022.04.24
chapter 04. 통합 구현  (0) 2022.04.24
chapter 03. 데이터 입출력 구현  (0) 2022.04.21