Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 9. 프로그래밍 언어 활용(1) /기본문법/변수명명법/절차적언어

_청렴 2021. 5. 4. 01:30
반응형

NCS 정보처리기사

1) 기본 문법 활용

- 데이터 타입의 길이

- Java 

  • short - 2byte
  • long - 8byte
  • char - 2byte

 

- Python 

  • long - 무제한
  • float - 8byte

 

- C# 

  • long - 8byte
  • char - 2byte
  • decimal - 16byte(실수형)

 

- 변수

- 변수 명명 제한

-> 첫 자리에는 숫자를 사용할 수 없다.

-> 이미 사용되고 있는 예약어의 경우에는 변수로 사용할 수 없다.

 

- 일반적인 변수 명명법

프로그램의 가독성 향상 및 유지보수성 증가를 위해

 

- 변수 명명법

 

Pascal Casing(파스칼 케이싱) : 대문자로 시작하는 변수명을 사용

-> 복잡어일 경우 중간에 시작하는 새로운 단어는 대문자로 적는다.

-> HumanResource

 

Camel Casing(카멜 케이싱) : 첫번째 문자는 소문자로 시작하고 복잡어일 경우 파스칼 케이싱과 동일

-> getName

 

GNU Naming(snake) : 모두 소문자를 사용하고 복합어 사이를 '_'를 사용하여 연결

-> human_resource

 

- Hungarian notation(헝가리안 표기법) : 첫글자 g는 전역변수, m은 멤버변수 의미

-> 전역이나 멤버변수의 경우 그 다음에 _를 적는다.

-> n과 i는 자연수, i는 주로 인덱스, n은 카운트 목적에 주로 사용

-> g_name, n_Cnt

 

- GNU Naming Convention : 모든 문자를 대문자로 사용하는 GNU Naming Convention의 형태를 사용

-> DEFAULT_DEPARTMENT_CODE

 

 

- 연산자

산술 연산자, 시프트 연산자, 관계 연산자, 논리 연산자 등

 

- 시프트 연산자

  • >> : 왼쪽 값에 오른쪽 값만큼의 부호비트를 채우면서 오른쪽으로 시프트 시킴
  • >>> : 왼쪽 값에 오른쪽 값만큼의 0으로 채우면서 오른쪽으로 시프트 시킴

 

- 비트 연산자

&(AND), |(OR), ^(XOR), ~(NOT)

 

- 증감 연산자

피연산자가 하나인 단항 연산자

-> 전위 증감 연산자와 후위 증감 연산자로 나뉨

-> 대입 연산자와 함께 사용했을 때 동작의 순서가 다름

 

- 삼항 연산자

조건식의 결과에 따라 대입의 결과가 달라지는 경우 사용

-> String str = (a>b) ? "학생 : "교수"

 

- 사용자 정의 자료형

기존에 존재하는 자료형에 새로운 이름을 부여하거나 여러 자료형을 묶어 새로운 자료형으로 사용하는 것

-> C언어에서는 typedef를 통한 별칭(alias)이나 구조체 의미

-> 객체 지향 언어에서는 주로 클래스를 의미

 

- C언어의 사용자 정의 자료형

typedef int INT;

-> 새로운 이름 부여

struct Human {
    char name[10];
    int age;
}

-> 클래스와는 달리 함수(method)는 구조체에 포함될 수 없다.

-> 구조체에 함수 포인터를 포함시키면 클래스와 유사한 동작 수행 가능

typedef struct Human {
    char name[20];
    int age;
} Human;

 

- 객체지향에서의 사용자 정의 자료형 -> 클래스 이용

 

2) 언어 특성 활용하기

- 프로그래밍 언어의 발전 과정

세계 최초의 프로그램은 내장 방식의 프로그램

 

  • 60년대 이전 : 어셈블리, 포트란, LISP
  • 60년대 : COBOL, PL/I, BASIC
  • 70년대 : 파스칼, C, SMALLTALK, PROLOG
  • 80년대 : ADA, C++, PERL, 파이썬
  • 90년대 : 루비, 자바, 자바스크립트, PHP, 비주얼 베이직
  • 2000년대 이후 : C#, 스칼라, GO, KOTLIN 등

 

- 프로그래밍 언어의 유형

 

- 개발 편의성에 따른 분류

  • 저급 언어 : 기계어 수준, 추상화 수준 낮음, 프로그램 작성 어려움
  • 고급 언어 : 개발자가 쉽게 이해 가능, 번역 과정 필요, 컴파일러 또는 인터프리터 이용

 

- 구현 방식(패러다임)에 따른 분류

  • 절차 지향 언어
  • 객체 지향 언어
  • 함수형 언어 - LISP, SCALAR
  • 논리형 언어 - PROLOG

 

- 실행방식에 따른 언어 유형

  • 컴파일 방식 - 느린 번역, 빠른 실행 속도
  • 인터프리터 방식 - 빠른 번역, 느린 실행 속도
  • 혼합형 - Java

 

- 절차적 프로그래밍 언어

절차 지향 혹은 명령 지향적 프로그래밍

-> 프로시저 호출의 개념을 바탕으로 하고 있는 프로그램

 -> 프로시저, 루틴, 하위프로그램, 서브루틴, 메서드, 함수

 

- 프로시저를 이용한 모듈성 장점

  • 코드의 재사용
  • 프로그램 흐름 파악
  • 모듈화 및 구조화
  • 매개변수와 반환 값
  • 유효범위 - 프로시저가 다른 프로시저의 변수에 접근하거나 그 반대의 경우를 막아줌
  • 명시적 허가 - 명시적 허가 없이 방금전 자기 변수도 접근 불가
  • 약결합 - 모듈성 강화
 

정보처리기사 실기 - 9. 프로그래밍 언어 활용(2) /객체지향언어/스크립트

- 객체지향 프로그래밍 언어 - 구조적(절차적) 방식의 문제점을 극복하고 인간이 사고하는 방식대로 - 객체(object)라는 실 세계에 존재하거나 또는 개념적인 그 어떤 것을 표현한 것 - 기능과 자료

aapslie94.tistory.com