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. 프로그래밍 언어 활용(3) /선언형언어/라이브러리 (0) | 2021.05.11 |
---|---|
정보처리기사 실기 - 9. 프로그래밍 언어 활용(2) /객체지향언어/스크립트 (0) | 2021.05.09 |
정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(3) /보안기능/에러처리/모바일앱/보안테스트 (0) | 2021.05.03 |
정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(2) /입력데이터검증 (0) | 2021.05.03 |
정보처리기사 실기 - 8. 소프트웨어 개발 보안 구축(1) /보안요구사항/보안고려사항 (0) | 2021.05.02 |