rustandbone Developer

정보처리기사 실기 대비_파트10

정보처리기사 실기 대비

10. 프로그래밍 언어 활용

Section153 Java의 클래스

  1. Java 클래스의 개요
    1. 클래스는 객체 생성을 위한 필드(속성)와 메소드(함수)를 정의하는 설계도.
      1. 클래스 이름을 정하고 객체 생성을 위한 필드와 메소드 정의. class 명령
      2. 객체 생성. new 명령.
      3. 객체 이용해 코딩.
class ClassA {
  int a = 10;
  int funcAdd(int x, int y) {
    return x + y + a;
  }
}

public class Test {
  public static void main(String[] args) {
    int x = 3, y = 6, r;
    ClassA cal = new ClassA();
    r = cal.funcAdd(x, y);
    System.out.print(r);
  }
}
class ClassA {
  ClassA() {
    System.out.print('A');
    this.prn();
  }

  void prn() {
    System.out.print('B');
  }
}

class ClassB extends ClassA {
  ClassB() {
    super();
    System.out.print('D');
  }
  void prn() {
    System.out.print('E');
  }
  void prn(int x) {
    System.out.print(x);
  }
}

public class Test {
  public static void main(String[] args) {
    int x = 7;
    ClassB cal = new ClassB();
    cal.prn(x)
  }
}

Section154 Java의 활용

  1. 추상 클래스와 형 변환의 개요
    1. 추상 클래스는 자식 클래스에서 재정의해야만 사용할 수 있는 메소드. 이런 메소드를 하나 이상 포함하는 클래스를 추상 메소드라고 함.
    2. 이렇게 재정의한 메소드를 부모 클래스의 객체 변수를 통해 사용하려면 부모 클래스의 객체 변수를 선언할 때 자식 클래스의 생성자를 이용해야 함. 이것을 클래스의 형 변환이라고 함.
abstract class Animal {
  String a = " is animal";
  abstract void look();
  void show() {
    System.out.println("Zoo");
  }
}

class Chicken extends Animal {
  Chicken() {
    look();
  }
  void look() {
    System.out.println("Chicken" + a);
  }
  void display() {
    System.out.println("two wings");
  }
}

public class Test {
  public static void main(String[] args) {
    Animal a = new Chicken();
    a.show();
  }
}

Section155 Python의 활용

  1. 개요
    1. 객체지향 기능을 지원하는 스크립트 언어. 문법이 간단하다는 장점.
      1. 변수의 자료형에 대한 선언이 없다.
      2. 문자열 ‘’ “” 구분 없이 사용 가능
      3. 문장 끝에 ; 필요 없음
      4. if for 같이 코드 블록 포함 명령문 작성 시 중괄호 대신 콜론과 여백으로 구분
    2. 자료형 : List, Set
    3. 입출력 함수 : input, print
    4. 슬라이스
    5. Range
x = input('입력 :')
a = ['abc123', 'def456', 'ghi789']
a.append(x)
a.remove('def456')
print(a[1][-3:], a[2][:-3], sep = ',')
for i in range(3,6) :
  print(i, end = ' ')
a = {'apple', 'lemon', 'banana'}
a.update({'kiwi', 'banana'})
a.remove('lemon')
a.add('apple')
for i in a:
  print(i)

Range

  • Range는 연속된 숫자를 생성하는 것.
    • range(최종값)
    • range(초기값, 최종값)
    • range(초기값, 최종값, 증가값)

Slice

  • 문자열이나 리스트 같은 순차형 객체에서 일부를 잘라 반환하는 기능
    • 객체명[초기위치:최종위치]
    • 객체명[초기위치:최종위치:증가값]
    • 객체명[:] 또는 객체명[::] - 객체 모든 요소 반환
    • 객체명[초기위치:] - 초기위치에서 마지막 위치까지 요소 반환
    • 객체명[:최종위치] - 0번째 위치에서 최종위치-1까지의 요소 반환
    • 객체명[::증가값] 0번째 위치에서 마지막 위치까지 증가값만큼 증가하면서 해당 위치 요소 반환

리스트 관련 주요 메소드

  • pop()
  • index(값)
  • count(값)
  • extend(리스트)
  • reverse()
  • sort()
  • copy()

세트 관련 주요 메소드

  • pop()
  • add(값)
  • update(세트)
  • remove(값)

Section156 절차적 프로그래밍 언어

  1. 절차적 프로그래밍 언어
    1. 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어
    2. 실행되는 절차 중요시
    3. 데이터를 중심으로 프로시저 구현
    4. 프로그램 전체가 유기적으로 연결
    5. 자연어에 가까운 단어와 문장으로 구성
    6. 과학 계산, 하드웨어 제어에 주로 사용
  2. 종류
    1. C
    2. ALGOL
    3. COBOL
    4. FORTRAN

Section157 객체지향 프로그래밍 언어

  1. 객체지향 프로그래밍 언어
    1. 현실 세계의 개체를 하나의 객체로 만들어, 객체들을 조립해서 프로그램을 작성하는 기법
    2. 프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 기법
    3. 한 프로그램을 다른 프로그램에서 이용할 수 있도록 함
  2. 종류
    1. JAVA
    2. C++
    3. Smalltalk

Section158 스크립트 언어

  1. 스크립트 언어
    1. HTML 문서 안에 직접 프로그램 언어를 삽입하여 사용하는 언어
    2. 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작
    3. 게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용
      1. 서버용 스크립트 언어 - 서버에서 실행된 후 결과만 클라이언트로 보냄
      2. 클라이언트용 스크립트 언어 - 웹 브라우저에서 해석되어 실행
  2. 종류
    1. 자바 스크립트
    2. VB 스크립트
    3. ASP(Active Server Page)
    4. JSP(Java Server Page)
    5. PHP(Professional Hypertext Preprocessor)
    6. 파이썬
    7. 쉘 스크립트
    8. Basic

Section159 선언형 언어

  1. 선언형 언어
    1. 프로그램이 수행해야 할 문제를 기술하는 언어
    2. 분류
      1. 함수형 언어
      2. 논리형 언어
  2. 명령형 언어
    1. 문제를 해결하기 위한 방법을 기술하는 언어
    2. 순차적인 명령 수행을 기본으로 함
    3. 폰노이만 구조에 개념적인 기초를 둠
    4. 절차적 언어와 객체지향 언어가 있음
    5. 종류
      1. HTML
      2. LISP
      3. PROLOG
      4. XML
      5. Haskell

Section160 라이브러리

  1. 라이브러리
    1. 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
    2. 분류
      1. 표준 라이브러리
      2. 외부 라이브러리
  2. C언어의 대표적인 표준 라입러리
    1. 헤더 파일로 제공
    2. include문을 이용해 선언한 후 사용
      1. stdio.h
      2. math.h
      3. string.h
      4. stdib.h
      5. time.h
  3. Java의 대표적인 표준 라이브러리
    1. 라이브러리를 패키지에 포함하여 제공
    2. import문을 이용해 선언한 후 사용
    3. 클래스와 메소드를 .로 구분하여 사용
    4. 패키지
      1. java.lang
      2. java.util
      3. java.io
      4. java.net
      5. java.awt
  4. Python의 대표적인 표준 라이브러리
    1. import random과 같이 선언
    2. 사용할 때는 마침표로 구분하여 사용
    3. 클래스
      1. 내장 함수
      2. os
      3. re
      4. math
      5. random
      6. statistics
      7. datetime

Section161 예외 처리

  1. 예외 처리
    1. 예외 발생 시 프로그래머가 해당 문제에 대비해 작성해놓은 처리 루틴이 수행되도록 하는 것
    2. 일반적 처리 루틴은 프로그램 종료시키거나 로그를 남기는 것
    3. C++, Ada, Java, JS 같은 언어에는 예외 처리 기능이 내장되어 있음
    4. 필요한 경우 조건문 이용해 예외 처리 루틴 작성
    5. 대표적 원인
      1. 컴퓨터 하드웨어 문제
      2. 운영체제 설정 실수
      3. 라이브러리 손상
      4. 사용자 입력 실수
      5. 받아들일 수 없는 연산
      6. 할당하지 못하는 기억장치 접근
  2. Java의 예외 처리
    1. JAVA는 예외를 객체로 취급
    2. 예외 관련 클래스를 java.lang 패키지에서 제공
    3. try ~ catch 문 이용해 예외 처리
    4. try 블록 코드 수행하다 예외 발생 시 catch 블록으로 이동하여 예외 처리 코드 수행
    5. try catch 문 안에 또 다른 try catch 문을 포함할 수 있음
    6. 실행 코드가 한 줄이라도 중괄호 생략할 수 없음