티스토리 뷰
*내가 필요한 부분만 정리*
ch01 기본 문법 활용하기
▶ 데이터 타입 유형 (2021 3회 시험에 파이썬으로 나옴)
유형 | 설명 | 선언 / 값 |
불린 (Boolean) | 조건이 참인지 거짓인지 판단하고자 할 때 사용 - C언어 미지원 - C++, 자바 : true / false (소문자) - 파이썬 : True / False (대문자) |
C++ : bool 자바 : boolean |
문자 (Char) | 문자 하나를 저장하고자 할 때 사용 | C언어 / C++ / 자바 : char |
문자열 (String) | 나열된 여러 개의 문자를 저장하고자 할 때 사용 | C언어 : char [] C++ : string 자바 : String |
정수 (int) | 정숫값을 저장하고자 할 때 사용 | C언어 / C++ / 자바 : int |
부동 소수점 (Float) | 소수점을 포함하는 실숫값을 저장하고자 할 때 사용 | C언어 / C++ / 자바 : float , double * float : 4byte , 소수점 6자리 * double : 8byte , 소수점 15자리 |
▶ 기본 저장 공간
- 변수 : 저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억장치에 기억하기 위한 공간이다.
파이썬에서는 변수 선언 X
- 배열 : 같은 타입의 변수들로 이루어진 집합이다.
- C, C++ 배열 선언
- 초깃값 없음 : int arr[5]; // 초깃값 선언하지 않을 시 쓰레깃 값 저장
- 초깃값 존재 : int arr[5] = {1,2}; // 명시되지 않은 값들은 0으로 초기화
- 자바 배열 선언
- 초깃값 없음 : int []arr = new int[5];
int arr[] = new int[5]; - 초깃값 존재 : int []arr = {1,2};
- 초깃값 없음 : int []arr = new int[5];
- 포인터 : 변수의 주솟값을 저장하는 공간이다.
▶ 자료형
- 자바
- 자바 자료형
- HashSet : 중복된 원소를 허용하지 않는 집합의 성질을 가진 클래스. 순서 중요하지 x
- ArrayList : 크기가 가변적으로 변하는 선형리스트의 성질을 가진 클래스. 순서가 중요 o
- LinkedList : 링크드 리스트 자료구조를 구현한 클래스
- HashMap : 키와 값으로 구성된 객체를 저장하는 구조
① HashSet 형
- 선언
- Set 변수명 = new HashSet();
- HashSet 변수명 = new HashSet();
- 메서드
- add(값) : 값 추가 , 중복 값이 들어오면 추가 x
- remove(값) : 값 제거
- size() : 원소 개수
② ArrayList 형
- 선언
- List 변수명 = new ArrayList();
- ArrayList 변수명 = new ArrayList();
- 메서드
- add(값) : 값 추가
- add(인덱스, 값) : 해당 인덱스에 값 추가
- remove(인덱스) : 해당 인덱스의 값 제거
- get(인덱스) : 해당 인덱스의 값 얻기
- size() : 원소 개수
③ HashMap 형
- 선언
- Map 변수명 = new HashMap();
- HashMap 변수명 = new HashMap();
- 메서드
- put(키, 값) : 해당 키에 값 추가
- remove(키) : 해당 키에 해당하는 값 제거
- get(키) : 해당 키에 해당하는 값 얻기
- size() : 원소 개수
- 파이썬
- 파이썬 자료형
- 세트형 : 중복된 원소를 허용하지 않는 집합의 성질
- 리스트형 : 크기가 가변적으로 변하는 선형리스트의 성질
- 튜플형 : 초기 선언된 값에서 값 생성, 삭제, 수정 불가능한 형태
- 딕셔너리형 : 키과 값으로 구성된 객체를 저장하는 구조
▶ 식별자 : 변수, 상수, 함수 등 서로 구분하기 위해 사용되는 이름
▶ 식별자 규칙
구분 | 규칙 | 사용 가능 예시 | 사용 불가능 예시 |
사용 가능 문자 | 영문 대/소문자, 숫자, 밑줄('_'), 달러('$') | a, A, a1, _, _hello, $a | ?a, <a |
변수 사용 규칙 | 단, 첫 자리에는 숫자 사용 불가 | _1, a1, a100 | 1, 1a, 1A, 1234 |
변수 이름의 중간에는 공백 사용 불가 | my_student | my student | |
변수 의미 부여 | 데이터값의 의미나 역할을 표현 | age, student | |
예약어의 경우 변수로 사용 불가능 | For, If, While | for, if, while |
▶ 식별자 표기법
- 카멜 표기법 (Camel Case) : 식별자 표기 시 첫 단어 시작만 소문자로 표시하고, 각 단어의 첫글자는 대문자로 지정
ex) inputFunction
- 파스칼 표기법 (Pascal Case) : 식별자 표기 시 각 단어의 첫글자는 대문자로 지정
ex) InputFunction
- 스네이크 표기법 (Snake Case) : 식별자 표기 시 단어 사이에 언더바 넣는 표기법
ex) input_function
- 헝가리안 표기법 (Hungarian Case) : 식별자 표기 시 접두어에 자료형을 붙이는 표기법
n : 정수 / c : 문자 / sz : 문자열
ex) nScore -> 정수형
▶ 아스키코드
▶ 연산자
▶ 출력 함수
① c언어
단순 출력 | printf(문자열); |
개행 | printf("\n"); |
변수 출력 | printf("포맷 스트링", 변수명); * 포맷 스트링 - 문자형 : %c (문자) , %s (문자열) - 정수형 : %d (10진수) , %x (16진수) , %o (8진수) - 실수형 : %f, %[전체자리수].[소수점자리수] |
② c++
- 단순 출력 : std::cout << 문자열;
- 개행 : std::endl;
- 변수 출력 : std::cout << 변수명;
③ 자바
단순 출력 | system.out.printf(문자열); // 포맷 스트링 사용 가능 system.out.print(문자열); // 개행을 하지 않음 |
개행 | system.out.print("\n"); system.out.println(문자열); |
변수 출력 | system.out.print(변수명); system.out.println(변수명); system.out.printf(포맷 스트링, 변수명); |
④ 파이썬
단순 출력 및 개행 | print(문자열) // 출력 후 개행 print(문자열, end='') // 개행을 하지 않음 |
변수 출력 | print(변수명) |
▶ 입력 함수
c언어 | 변수값 입력 | scanf(포맷 스트링, &변수명); |
문자열 입력 | scanf("%s", 배열명); | |
c++ | std::cin << 변수명; | |
자바 | 정수형 입력 | Scanner 스캐너 변수명 = new Scanner(System.in); 입력받을 변수명 = 스캐너 변수명.nextInt(); |
실수형 입력 | Scanner 스캐너 변수명 = new Scanner(System.in); 입력받을 변수명 = 스캐너 변수명.nextFloat(); |
|
문자열 입력 | Scanner 스캐너 변수명 = new Scanner(System.in); 입력받을 변수명 = 스캐너 변수명.nextLine(); |
|
파이썬 | 문자열 입력 | 변수명 = input() |
숫자 입력 | 변수명 = input() 변수명 = eval(변수명) |
▶ 클래스 접근 제어자
범위 | 종류 | 설명 |
넓음 ▲ ㅣ ㅣ ㅣ 좁음 |
public | 외부의 모든 클래스에서 접근 가능 |
protected | 같은 패키지 내부에 있는 클래스, 하위 클래스에서 접근 가능 | |
default | 같은 패키지 내부에 있는 클래스에서 접근 가능 자바에만 존재 |
|
private | 같은 클래스 내에서만 접근 가능 |
▶ 클래스 생성자 : 객체가 생성될 때 자동으로 호출되는 메서드이다.
ch02 언어 특성 활용하기
▶ 프로그래밍 언어의 유형 분류
- 개발 편의성에 따른 언어 분류
- 저급 언어 : 기계가 이해할 수 있도록 만들어진 언어
ex) 기계어 , 어셈블리어 - 고급 언어 : 개발자가 소스 코드 작성 시 쉽게 이해할 수 있도록 작성된 언어
ex) C , C++ , 자바 , 파이썬
- 저급 언어 : 기계가 이해할 수 있도록 만들어진 언어
- 실행하는 방식에 따른 언어 분류
- 명령형 언어 : 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식
ex) FORTRAN, COBOL, PASCAL, C - 객체지향 언어 : 객체 간 메시지 통신을 이용해 프로그래밍 하는 방식
ex) JAVA, C++ - 함수형 언어 : 수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식
ex) LISP - 논리형 언어 : 논리 문장을 이용해 프로그램을 표현하고 계산을 수행하는 개념에 기반한 프로그래밍 방식
ex) 프롤로그
- 명령형 언어 : 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식
- 구현 기법에 따른 분류
- 컴파일 방식의 언어 : 고급언어를 기계어로 번역하는 방식
ex) FORTRAN, PASCAL, C, C++ - 인터프리터 방식의 언어 : 고급 언어 명령문을 하나씩 번역하고 실행하는 방식
ex) BASIC, 프롤로그, LISP - 혼합형 방식의 언어 : 고급 언어를 중간언어로 변환 후, 인터프리터에 의해 번역을 실행하는 방식
ex) 자바
- 컴파일 방식의 언어 : 고급언어를 기계어로 번역하는 방식
▶ 프로그래밍 언어별 특성
- 절차적 프로그래밍 언어 종류
- 알골 : 알고리즘 연구개발에 이용하기 위한 목적
- C언어 : 유닉스 운영 체제에서 사용하기 위해 개발
- 베이직 : 교육용으로 개발
- 포트란 : 과학 기술 전문 언어
- 객체지향 프로그래밍 언어 종류
- C++ : C 문법에 객체지향 개념 + 템플릿 기능 추가
- C# : 마이크로소프트에서 개발한 객체지향 프로그래밍 언어
- 자바 : 썬 마이크로 시스템즈가 개발
- 델파이 : 윈도즈 아래에서 모든 부분 프로그래밍 할 수 있는 언어
- 스크립트 언어 종류
- PHP : 동적 웹 페이지를 만들기 위해 설계
- 펄(Perl) : 인터프리터 방식의 프로그래밍 언어
- 파이썬 : 다양한 플랫폼에서 사용 가능, 라이브러리 풍부
- 자바스크립트 : 객체 기반 스크립트 프로그래밍 언어
- 선언형 언어 종류
- 함수형 언어
- 하스켈 : 패턴 맞춤, 커링, 조건 제시법, 가드, 연산자 정의 등의 기능 존재
- 리스프 : 수학 표기법을 나타내기 위한 목적으로 생성
- 논리형 언어
- 프롤로그 : 논리식 기반으로 객체 간 관계에 대한 문제 해결을 위해 사용
- 특수 분야 언어
- SQL : 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- 함수형 언어
▶ 객체지향 프로그래밍
: 객체와 객체 간 통신을 통해 프로그램 구현. 객체와 속성, 메서드로 구성
▶ 객체지향 프로그래밍 구성 요소
*객클메*
- 객체 : 개체, 속성, 메서드로 구성된 클래스의 인스턴스
- 클래스 : 객체를 표현하는 추상 데이터 타입. 객체를 생성하는 틀
- 메시지 : 객체 간의 통신
▶ 객체의 구성요소
*개속메*
- 개체(Entity) : 현실 세계에 보이는 본질
- 속성(Attribute) : 자료 저장소 역할
- 메서드(Method) : 호출 단위
▶ 라이브러리 : 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체
▶ 라이브러리의 구성
*도설샘* : 도움말 / 설치 파일 / 샘플 코드
▶ 라이브러리의 기능
문자열 연산 기능 / 문자열 탐색,치환 기능 / 수치 계산 기능 / 난수 생성 기능
파일 경로 조작 기능 / 디렉터리 생성 기능 / 날짜 조작 기능 / 로그 출력 기능
▶ 모듈과 패키지
- 모듈 : 전역 변수, 함수 등을 모아둔 파일
- 패키지 : 모듈을 디렉터리 형식으로 구조화한 라이브러리
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 - 9과목 소프트웨어 개발 보안 구축 정리 (0) | 2022.04.17 |
---|---|
[정보처리기사] 실기 - 8과목 서버 프로그램 구현 정리 (2) | 2022.04.14 |
[정보처리기사] 실기 - 5과목 인터페이스 구현 정리 (0) | 2022.04.11 |
[정보처리기사] 실기 - 4과목 통합 구현 정리 (0) | 2022.04.10 |
[정보처리기사] 실기 - 3과목 데이터 입출력 구현 정리 (0) | 2022.04.10 |
- Total
- Today
- Yesterday
- JavaScript
- 갤러리띄우기
- 졸업작품준비
- 현장실습
- php게시판만들기
- 현장실습 기록
- 홈페이지 만들기
- 노마드코더
- 백준
- 정보처리기사 실기 정리
- indexOf()
- 졸업작품
- 스마트컨트랙트
- HTML
- php 달력만들기 응용
- 정보처리기사
- set 객체
- DAPP
- 리액트
- MySQL
- C언어
- 정보처리기사 실기
- css grid
- 프로그래머스
- 정처기 실기
- php
- 블록체인
- 정처기 실기 정리
- CSS
- 이더리움
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |