변수 선언
- 타입 변수명;
ex) int a;
타입 *변수명 = 초기값;**
*ex) int a = 0;
배열 : 같은 타입의 변수들로 이루어진 집합
C, C++ 배열 선언
*초깃값을 선언하지 않을 경우 쓰레기값이 저장, 배열 요소 보다 적은 수만큼 초기화시 0 저장
- 초깃값이 없는 경우 = 타입 배열명[배열 수];
- 초깃값이 있는 경우 = 타입 배열명[배열 수] = {초깃값};
자바 배열 선언
* 초깃값 선언하지 않을경우 정수:0 실수0.0 문자열 NULL(0)
- 초깃값이 없는 경우 : 타입 []배열명 = new 타입[배열 수];
- 초깃값이 있는 경우 : 타입 []배열명 = {초깃값};
포인터 개념 : 변수의 주솟값을 저장하는 공간
타입뒤에 를 붙이면 주소를 저장하는 포인터 변수라는 의미, 일반 변수명에 &을 붙이면 해당 변수명의 주솟값
타입 포인터변수명 = &변수명;
자바 자료형
- HashSet : 중복된 원소를 허용하지 않는 집합의 성질을 가진 클래스, 순서가 중요하지 않음
- ArrayList : 크기가 가변적으로 변하는 선형리스트의 성질을 가진 클래스, 순서가 중요(인덱스를 통해 접근 가능)
- LinkedList : 이전 노드와 다음 노드의 상태를 알고있는 링크드 리스트
- HashMap : 키와 값으로 구성된 객체를 저장하는 구조
*데이터 검색 시 ArrayList 가 빠르고 데이터 삽입 삭제 시 LinkedList가 빠름
HashSet 개념 : Set의 하위 클래스로 중복된 원소를 허용하지 않음
HashSet 선언 : Set 변수명 = new HashSet();
HashSet 메서드 : 출력시 [값1, 값2]
- add(값) : 값을 추가, 중복된 값이 들어오면 추가하지 않음
- remove(값) :값을 제거하는 메서드
- size() : HashSet에 들어있는 원소의 개수를 얻는 메서드
ArrayList 개념 : 크기가 가변적으로 변하는 선형 리스트의 성질을 가지고 있는 자료형, 순서가 중요, 중복 값 허용
선언 : List 변수명 = new ArrayList;
ArrayList 메서드 출력시 [값1, 값2]
- add(값)
- add(인덱스, 값)
- remove(인덱스)
HashMap 개념 : 키와 값으로 구성된 객체를 저장하는 구조
HashMap 선언 : Map 변수명 = new Hashmap();
HashMap 메서드 출력시 {키=값}
- put(키, 값)
- remove(키)
- get(키) : 해당 키에 해당하는 값을 얻음
- size()
파이썬 자료형
- 세트형 : 중복된 원소를 허용하지않음
- 세트형 선언
- 세트명 = {값, 값1}
- 세트명 = set ([])
- 세트형 메서드
- add(값)
- remove(값)
- update([값,값]) : 여러 개를 한번에 추가
- 리스트형 :크기가 가변적으로 변하는 선형 리스트의 성질을 가지고 있는 자료구조
- 리스트형 선언
- 리스트명 = [값1, 값2]
- 리스트형 메서드
- append(값) : 마지막 요소 뒤에 값을 추가하는 메서드
- insert(인덱스, 값)
- remove(값) : 값이 여러 개일 경우 앞에 있는 값을 제거
리스트 슬라이싱
리스트명[시작 인덱스:종료인덱스:스텝] = 종료인덱스 하나 전까지 출력
튜플형 : 초기에 선언된 값에서 생성,삭제,수정이 불가능한 형태의 자료구조
선언 : 튜플명 =(값1,값2)
딕셔너리형 : 키와 값으로 구성된 객체를 저장하는 구조로 되어있는 자료구조
선언 : 딕셔너리명 ={키:값}
요소 추가 딕셔너리명[키] = 값 * 해당 키에 값이 있으면 변경
요소 삭제 딕셔너리명[키]
식별자 : 변수,상수,함수 등 서로 구분하기 위해서 사용되는 이름
식별자 규칙
-사용 가능 문자 : 영어 대/소문자, 숫자, _, $
-변수 사용 규칙 : 첫자리에 숫자 불가, 변수에 공백 불가
-변수 의미 부여 : 의미나 역할을 표현, 이미 사용되고 있는 예약어 사용 불가
식별자 표기법
-카멜 표기법 : 여러 단어가 이어지면 첫 단어만 시작만 소문자 다음 단어 시작은 대문자
-파스칼 표기법 : 단어의 시작을 대문자
-스네이크 표기법 : 단어사이에 _를 사용
-헝가리안 표기법 : 두어에 자료형을 사용 int → n, char → c, 문자열 →sz
관계연산자
!= : 왼쪽에 있는 값이 오른쪽에 있는 값과 다르면 참, 같으면 거짓
논리연산자
&& : 두개의 논릿 값이 모두 참이면 참
|| : 두 개의 논릿 값 중 하나가 참이면 참
비트연산자
- & : 두 값을 비트로 연산하여 같은 비트의 값이 1이면 1
- | : 두 값을 비트로 연산하여 같은 비트의 값이 하나라도 1이면 1
- ^ : 두 값을 비트로 연산하여 같은 비트의 값이 서로 다르면 1
- ~ : 모든 비의 값을 반대로 바꾸는 반전 연산자
삼항연산자
조건 ? 참 : 거짓;
접근제어자
public + : 외부의 모든 클래스에서 접근이 가능한 접근 제어자
private - : 같은 클래스 내에서만 접근 가능
protected # : 같은 패키지 내부에 있는 클래스, 하위 클래스(상속 받은 클래스)
default ~ : 접근 제어자를 명시하지 않은 경우로 같은 패키지 내부에있는 클래스만 접근가능, 자바에만 존재
생성자 : 해당 클래스의 객체가 생성될때 자동으로 호출되는 특수한 종류의 메서드
- C++, 자바 : 클래스 명과 동일한 메서드 명을 사용, 반환값이 없다
- 파이썬 : init 사용 후 첫번째 매개변수로 self
소멸자 : 객체의 수명이 끝났을 때 객체를 제거하기 위한 목적으로 사용
- C++ : ~
- 자바 : finalize
- 파이썬 : del
상속 : 어떤 객체가 있을 때 그 객체의 변수와 메서드를 다른 객체가 물려받는 기능
C++(:) = 자식클래스 : 부모클래스
자바(extends) = 자식클래스 extedns 부모클래스
파이썬 = 자식클래스명(부모클래스)
오버로딩 : 동일 이름의 메서드를 매개변수만 다르게하여 여러개 정의하는 기능
오버로딩 특징
- 매서드 이름이 같아야한다
- 매개변수 개수가 달라야한다.
- 매개 변수 개수가 같을 경우 데이터 타입이 달라야한다.
fn()
fn(int i)
fn(double d)
fn(int a, int b)
오버라이딩 : 하위클래스에서 상위 클래스 메서드를 재정의할 수 있는 기능
- C++ virtual 키워드가 있어야함
오버라이딩 특징
- 메서드가 상위 클래스에 존재해야함
- 메서드 이름은 같아야함
- 메서드 매개변수 개수와, 타입이 같아야함
- 메서드 반환형이 같아야함
상위클래스 접근
- C++ : 부모클래스::메서드명()
- 자바 : super.메서드명()
- 파이썬 : super().메스드명()
추상 클래스 : 미구현 추상 메서드를 한 개 이상 가지며 자식 클래스에서 해당 추상 메서드를 반드시 구현 강제
- C++ : virtual 데이터_타입 메서드명()=0;
- 자바 : abstract 데이터_타입 메서드명();
- 파이썬 : pass
인터페이스 : 자바의 다형성을 극대화하고 유지보수성을 높이기 위한 문법
- 오직 추상메서드와 상수만을 멤버로 가질 수있다
*interface, implements
객체 지향 프로그래밍 : 객체와 객체 간의 통신을 통해 프로그램이 구현
객체지향 프로그래밍의 구성요소
- 객체 : 개체,속성,메서드로 구성된 클래스의 인스턴스를 의미
- 클래스 :객체를 표현하는 추상 데이터 타입 객체를 생성하는 틀
- 메시지 : 객체 간의 통신
객체의 구성요소 (개속메)
- 개체 : 현실세계의 본질
- 속성 : 자료 저장소 역할, 변수와 대응
- 메서드 : 호출 단위 , 함수와 대응
라이브러리 개념 : 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램
라이브러리의 구성(도움말,설치파일,샘플코드)
'정보처리기사 실기 요약본' 카테고리의 다른 글
[정보처리기사] 1. 요구사항 확인 (3) | 2023.03.11 |
---|---|
[정보처리기사] 3.데이터 입출력 구현 (1) | 2023.03.11 |
[정보처리기사] 4. 통합구현 (5) | 2023.03.11 |
[정보처리기사] 5.인터페이스 구현 (3) | 2023.03.11 |
[정보처리기사] 11.응용 SW 기초 기술 활용 (0) | 2023.03.09 |