티스토리 뷰

 

[Note]

정보처리기사 실기 요약 정리 공유

10. 프로그래밍 언어 활용

 


 

01. 기본 문법 활용하기

 

바인딩

  1. 정적 바인딩
    • 프로그램 실행 시간 전에 속성을 연결하는 방식
  2. 동적 바인딩
    • 프로그램 실행 시간에 속성을 연결하는 방식

자료구조 (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)

  • 변수는 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간이고, 데이터 타입은 변수가 가질 수 있는 속성값의 길이 및 성질이다.

루프 제어 명령어

  1. break
    • 반복문을 중지하도록 하는 명령어
    • 반복문이나 switch문을 중간에 탈출하기 위해 주로 사용하는 명령어다.
  2. continue
    • 다음 반복으로 넘어갈 수 있도록 하는 명령어
    • 반복문을 중지하는 것이 아닌 다음 반복으로 넘어갈 수 있도록 하는 명령어이다.

추상화

  1. 개념
    • 세부 사항은 배제하고 중요한 부분을 중심으로 간략화하는 기법.
  2. 종류 (기자제)
    • 기능 추상화 : 입력 자료를 출력 자료로 변환하는 과정을 추상화하는 방법
    • 자료 추상화 : 자료와 자료에 적용할 수 있는 연산을 함께 정의하는 방법
    • 제어 추상화 : 외부 이벤트에 대한 반응을 추상화하는 방법

상속

  • 상위 수준 그룹의 모든 특성을 하위 수준 그룹이 이어받아 재사용 또는 확장하는 기법.

 

02. 언어 특성 활용하기

 

인터프리터 (Interpreter)

  • 프로그램 문장을 하나씩 번역하고 실행할 수 있도록 하는 프로그램. 컴파일 과정이 없기 때문에 개발하는 과정에서 사용하면 유용하다는 장점이 있지만, 실행 속도가 느리고 메모리 사용이 비효율적이라는 단점이 있다.

컴파일러 (Compiler)

  • 컴파일러는 FORTRAN, C 등과 같은 고급 언어를 기계어로 번역하는 프로그램이자 도구로, 컴파일 방식의 언어는 모두 컴파일러가 필요하다.

객체지향 프로그래밍의 구성요소 (객클메)

  • 객체 (Object) : 개체, 속성, 메서드로 구성된 클래스의 인스턴스를 의미
  • 클래스 (Class) : 객체지향 프로그래밍에서 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀
  • 메세지 (Message) : 클래스를 통해 추상화된 자료형을 제공

객체의 구성요소 (개속메)

  • 개체 (Entity) : 현실 세계에 보이는 본질을 의미
  • 속성 (Attribute) : 자료 저장소 역할을 하며, 절차 지향 프로그래밍의 변수와 대응
  • 메서드 (Method) : 호출 단위를 의미하며, 절차 지향 프로그래밍의 함수와 대응

객체지향형 프로그래밍의 특징

  • 캡슐화
  • 다형성
  • 정보은닉
  • 상속성
  • 추상화

라이브러리 (Library)

  • 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체로서 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
  • 라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공하는 프로그램을 말한다.

패키지 (Package)

  • 모듈을 디렉터리 형식으로 구조화한 라이브러리

접근제어 지시자

  • 클래스에 접근할 수 있는 범위를 설정하기 위한 키워드로서, 접근의 허용 범위를 제한하는 용도로 사용하는 지시자이다.
  • private : 인스턴스 변수와 메소드는 선언된 클래스 내부에서 접근 가능
  • protected : 상속받은 클래스에서 접근을 허용
  • public : 어디서든 접근 가능한 인스턴스 변수 및 메소드

추상 클래스

  1. 개념
    • 미구현 추상 메소드를 한 개 이상 가지며, 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제하는 문법.
    • 상속받은 클래스는 추상 메소드를 구현하지 않아도, import 할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생한다.
      (구현을 해야 에러 발생X)
  2. 장점
    • 중복 코드 제거 : 상속을 통해 중복 코드를 줄일 수 있음.
    • 그룹화 : 자식 클래스 그룹화가 가능.
    • 비 실존 객체 생성 차단 : 비 실존 객체의 직접 생성을 차단하여 실수를 사전 방지

인터페이스 vs 추상클래스

  1. 공통점
    • 추상 클래스와 인터페이스는 선언만 있고 구현 내용이 없는 클래스
    • 자기 자신이 new를 해서 객체를 생성할 수 없으며, 추상 클래스를 extends 받거나 interface를 implements 한 자식만이 객체를 생성할 수 있다.
      상속받은 자식이 구현을 반드시 하도록 해야 할 때 사용한다.
    • JAVA에서는 타입이 지정되었기 때문에 선언된 타입과 자식의 타입이 같아야만 한다.
  2. 차이점
    • 상속을 받음에도 불구하고 클래스에선 상속이라고 쓰지만, 인터페이스는 구현이라고 쓴다.
    • 추상 클래스를 상속받는 클래스는 반드시 추상 메소드를 구현해야 한다. 필수적으로 구현해야 할 메소드가 있을 때 추상 클래스를 쓰게 된다.
    • 인터페이스를 상속받는 클래스에서는 반드시 인터페이스에 있는 메소드를 다 구현해야 한다.

 

 

 


틀린 내용이 있거나 문제가 있을시 알려주세요. 같이 공부해요 😊

이 글이 도움이 되셨다면 공감, 댓글 부탁드려요 👍🏻

댓글
«   2024/11   »
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
Total
Today
Yesterday
공지사항
최근에 올라온 글