티스토리 뷰
[Note]
정보처리기사 실기 요약 정리 공유
10. 프로그래밍 언어 활용
01. 기본 문법 활용하기
바인딩
- 정적 바인딩
- 프로그램 실행 시간 전에 속성을 연결하는 방식
- 동적 바인딩
- 프로그램 실행 시간에 속성을 연결하는 방식
자료구조 (Data Structure)
- 컴퓨터에 데이터를 삽입, 삭제, 수정하게 해주는 논리적인 공간 구조를 의미한다.
- 자료의 형태에 따라 단순 구조, 선형 구조, 비선형 구조, 파일 구조로 분류할 수 있다.
알고리즘 (Algorithm)
- 알고리즘은 어떤 문제에 대한 답을 찾는 해법을 의미한다.
- 알고리즘의 표현은 자연어, 순서도, 의사 코드, 프로그래밍 언어를 이용하는 방법이 있으며, 프로그래밍 언어가 아니어도 알고리즘의 표현은 가능하다.
예약어 (Reserved word)
- 컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어.
- 데이터 타입, 조건문, 반복문, 루프 제어 명령문, 함수 반환 값 등이 이에 해당한다
- ex) int, float, if, continue, break, return, double 등등 ...
Float vs Double
- float 와 double 형 모두 실숫값을 표현하는 데이터 타입이다.
- 하지만 float는 4바이트로 보통 소수점 6자리까지 표현 가능하지만,
double형은 8바이트 소수점 15자리까지 표현 가능하기 때문에 표현할 수 있는 숫자는 double 타입이 더 많다.
데이터타입(Data type) vs 변수 (Variable)
- 변수는 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간이고, 데이터 타입은 변수가 가질 수 있는 속성값의 길이 및 성질이다.
루프 제어 명령어
- break
- 반복문을 중지하도록 하는 명령어
- 반복문이나 switch문을 중간에 탈출하기 위해 주로 사용하는 명령어다.
- continue
- 다음 반복으로 넘어갈 수 있도록 하는 명령어
- 반복문을 중지하는 것이 아닌 다음 반복으로 넘어갈 수 있도록 하는 명령어이다.
추상화
- 개념
- 세부 사항은 배제하고 중요한 부분을 중심으로 간략화하는 기법.
- 종류 (기자제)
- 기능 추상화 : 입력 자료를 출력 자료로 변환하는 과정을 추상화하는 방법
- 자료 추상화 : 자료와 자료에 적용할 수 있는 연산을 함께 정의하는 방법
- 제어 추상화 : 외부 이벤트에 대한 반응을 추상화하는 방법
상속
- 상위 수준 그룹의 모든 특성을 하위 수준 그룹이 이어받아 재사용 또는 확장하는 기법.
02. 언어 특성 활용하기
인터프리터 (Interpreter)
- 프로그램 문장을 하나씩 번역하고 실행할 수 있도록 하는 프로그램. 컴파일 과정이 없기 때문에 개발하는 과정에서 사용하면 유용하다는 장점이 있지만, 실행 속도가 느리고 메모리 사용이 비효율적이라는 단점이 있다.
컴파일러 (Compiler)
- 컴파일러는 FORTRAN, C 등과 같은 고급 언어를 기계어로 번역하는 프로그램이자 도구로, 컴파일 방식의 언어는 모두 컴파일러가 필요하다.
객체지향 프로그래밍의 구성요소 (객클메)
- 객체 (Object) : 개체, 속성, 메서드로 구성된 클래스의 인스턴스를 의미
- 클래스 (Class) : 객체지향 프로그래밍에서 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀
- 메세지 (Message) : 클래스를 통해 추상화된 자료형을 제공
객체의 구성요소 (개속메)
- 개체 (Entity) : 현실 세계에 보이는 본질을 의미
- 속성 (Attribute) : 자료 저장소 역할을 하며, 절차 지향 프로그래밍의 변수와 대응
- 메서드 (Method) : 호출 단위를 의미하며, 절차 지향 프로그래밍의 함수와 대응
객체지향형 프로그래밍의 특징
- 캡슐화
- 다형성
- 정보은닉
- 상속성
- 추상화
라이브러리 (Library)
- 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체로서 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
- 라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공하는 프로그램을 말한다.
패키지 (Package)
- 모듈을 디렉터리 형식으로 구조화한 라이브러리
접근제어 지시자
- 클래스에 접근할 수 있는 범위를 설정하기 위한 키워드로서, 접근의 허용 범위를 제한하는 용도로 사용하는 지시자이다.
- private : 인스턴스 변수와 메소드는 선언된 클래스 내부에서 접근 가능
- protected : 상속받은 클래스에서 접근을 허용
- public : 어디서든 접근 가능한 인스턴스 변수 및 메소드
추상 클래스
- 개념
- 미구현 추상 메소드를 한 개 이상 가지며, 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제하는 문법.
- 상속받은 클래스는 추상 메소드를 구현하지 않아도, import 할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생한다.
(구현을 해야 에러 발생X)
- 장점
- 중복 코드 제거 : 상속을 통해 중복 코드를 줄일 수 있음.
- 그룹화 : 자식 클래스 그룹화가 가능.
- 비 실존 객체 생성 차단 : 비 실존 객체의 직접 생성을 차단하여 실수를 사전 방지
인터페이스 vs 추상클래스
- 공통점
- 추상 클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스
- 자기 자신이 new를 해서 객체를 생성할 수 없으며, 추상 클래스를 extends 받거나 interface를 implements 한 자식만이 객체를 생성할 수 있다.
상속받은 자식이 구현을 반드시 하도록 해야 할 때 사용한다. - JAVA에서는 타입이 지정되었기 때문에 선언된 타입과 자식의 타입이 같아야만 한다.
- 차이점
- 상속을 받음에도 불구하고 클래스에선 상속이라고 쓰지만, 인터페이스는 구현이라고 쓴다.
- 추상 클래스를 상속받는 클래스는 반드시 추상 메소드를 구현해야 한다. 필수적으로 구현해야 할 메소드가 있을 때 추상 클래스를 쓰게 된다.
- 인터페이스를 상속받는 클래스에서는 반드시 인터페이스에 있는 메소드를 다 구현해야 한다.
틀린 내용이 있거나 문제가 있을시 알려주세요. 같이 공부해요 😊
이 글이 도움이 되셨다면 공감, 댓글 부탁드려요 👍🏻
'Study' 카테고리의 다른 글
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 12. 제품 소프트웨어 패키징 (0) | 2021.07.06 |
---|---|
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 11. 응용 SW 기초 기술 활용 (0) | 2021.07.06 |
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 09. 소프트웨어 개발 보안 구축 (2) | 2021.07.06 |
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 08. SQL 응용 (0) | 2021.06.29 |
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 07. 애플리케이션 테스트 관리 (0) | 2021.06.29 |
댓글