정보처리기사 9

[프로그래밍] 모듈화, 결합도

1. 모듈화 정의 모듈의 독립성은 결합도와 응집도에 의해 측정되며, 독립성을 높이려면 모듈의 결합도를 약하게 하고 응집도를 강하게 하며 모듈의 크기를 작게 만들어야 한다. 기능 별로 분리하여 구현하면 유지보수에도 용이함 ex) 단위 모듈화의 원리 정보은닉 - 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허횽하는 것 분할과 정복 - 복잡한 문제를 분해하여, 모듈 단위로 문제를 해결하는 것 데이터 추상화 - 각 모듈 자료구조를 엑세스하고 수정하는 함수 내 자료구조 표현 내역을 감춤 모듈 독립성 - 모듈간의 독립성이 강한 모듈은 낮은 결합도와 높은 응집도를 지향 모듈화의 장점 프로그램의 효율적인 관리 및 성능 향상 소프트웨어 이해의 용이성 증대와 복잡성 감소 기능..

[프로그래밍] 라이브러리, 예외처리, 프로토타입, 프레임워크, 재사용

1. 라이브러리 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체 도움말/설치파일/샘플코드 등 표준 라이브러리 - 프로그래밍 언어에 기본적으로 포함되어 있는 형태 외부 라이브러리 - 개발자들이 필요한 기능들을 만들어 인터넷에 공유해 놓은 형태 2. 예외 처리 비정상적인 실행을 대비해 작성해 놓은 루틴을 수행하도록 하는 것 try ~ catch 문을 사용 3. 프로토타입 함수 원형 이라는 의미로, 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것 4. 프레임워크 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화 된 형태로 클래스들을 제공하는 틀 프레임워크의 특징 모듈화 재사용성 확장성 제어의 역행(IoC) 5. 재..

[프로그래밍] 파이썬(Python)

1. 기본 문법 변수의 자료형에 대한 선언이 없다. 문장의 끝을 의미하는 세미콜론( : )을 사용할 필요가 없다. 단, 한 줄에 여러 줄을 연속해서 쓰게 되면 사용한다 변수에 연속하여 값을 저장 가능 if 또는 for 와 같이 코드 블록을 포함하는 명령문을 작성할 때 코드 블록은 콜론 ( : )과 여백으로 구분 여백은 일반적으로 스페이스바 4 칸 또는 1개의 탭만큼 띄워야 하며, 여백을 사용하는 형식을 혼합하여 사용하는 경우 오류가 발생할 수 있으므로 통일해야 한다. 2. 입출력 함수 input() 함수 키보드로 입력받아 변수에 저장하는 함수 입력되는 값은 문자로 취급되어 저장 변수 = input(출력문자) EX) a = input('입력하세요') 실행 시 입력하세요> 라는 문구가 나오며 문구를 입력하면..

[프로그래밍] 구조체

1. 구조체의 정의 배열의 자료의 형과 크기가 동일한 변수의 모임이라면 구조체는 자료의 종류가 다른 변수의 모임이라고 할 수 있다. 여러 종류의 자료형이 섞인 배열을 여러개 관리 하기 위함 struct sawon{ char name[10]; char jikwi[10]; int pay; } struct : 구조체를 정의하는 예약어 sawon : 구조체의 이름으로 사용자가 임의로 정의, 'sawon'이라는 자료형을 하나 만든 것 2. 구조체 변수의 선언 정수형 변수를 사용하려면 int a; 와 같이 선언한 후 사용하는 것 처럼 선언한다 struct sawon ansan, *seoul; sawon ansan : 정의한 구조체 sawon 자료형으로 변수를 선언하는데 변수의 이름은 ansan 이라는 의미 *seo..

[프로그래밍] C언어-포인터, 배열

1. 포인터 C언어에서 변수의 주소를 저장, 사용할 때 사용하는 변수 포인터 변수를 선언 할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *을 붙인다 (int *a;) 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수의 앞에 번지 연산자 &를 붙인다. (a = &b;) - b의 주소값을 a에 넣는다. 실행문에서 포인터 변수에 간접 연산자 *을 붙이면 해당 포인터 변수가 가리키는 곳의 값 (c = *a;) a의 주소에 담긴 변수 또는 배열의 값을 c에 넣는다. 포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수 복사본을 만들지 않고 그 값을 가리키는 주소만 알려줌으로써 효율적인 메모리 사용이나 단축된 처리시간 장점 2. 포인터 변수의 용도 연..

[프로그래밍] 데이터 입출력, 제어문, 반복문

1. 데이터 입출력 - 키보드로 입력받아 화면으로 출력할 때 사용하는 함수 - C언어 scanf() : C언어의 표준 입력 함수로 키보드로 입력 받아 변수에 저장하는 변수 printf() : C언어의 표춘 출력 함수로, 인수로 주어진 값을 화면에 출력하는 함수 - JAVA Scanner : 키보드로 입력받아 변수에 저장하는 변수 2. 제어문 - 컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데, 조건을 지정해서 진행 순서를 변경할 수 있다. - if문, 다중 if문, switch문, goto, 반복문 3. 반복문 for문 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문 for(식1; 식2; 식3) { 실행할 문장; } while문 조건이 참인 ..

[프로그래밍] 데이터 타입, 변수

1. 데이터 타입 유형 예시 정수 타입 1, -1 부동 소수점 타입 0.123*10^2, -1.2*10^2 문자 타입 'A', '1', '*' 문자열 타입 "Hello", "1+2=3" 불리안 타입 True, False 배열 {1,2,3,4,5} 2. 변수 - 컴퓨터가 명령을 처리하는 도중 발생하는 값을 주기억장치에 저장하기 위한 공간으로, 변할 수 있는 값을 의미 - 저장하는 값에 따라 정수형, 실수형, 문자형, 포인터형 등으로 구분 - 변수명 설정 규칙 대/소문자, 숫자, ' _ ' 만 사용할 수 있다 첫 자리에는 숫자를 사용할 수 없다 ' _ ' 외에 특수문자나 띄어쓰기를 사용할 수 없다. 이미 사용되고 있는 예약어 (for, if, while 등)을 사용할 수 없다. 대/소문자를 구분하여 예약어를..

[프로그래밍] 생성자, 접근제어자, 스크립트 언어, 선언형 언어

1. 생성자 (Contstructor) - 객체 변수 생성 및 초기화 시 사용되는 메소드 2. JAVA의 접근제어자 - 변수나 메소드의 사용 권한은 접근 제어자를 사용하여 설정할 수 있다. 3. 스크립트 언어 - HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 언어 - 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작 - 게시판 입력, 상품 검색, 회원 가입 등과 같은 데이터베이스 처리 작업을 수행하기 위해 주로 사용 - 스크립트 언어의 분류 : 해석하는 위치에 따라 분류됨 분류 설명 서버용 스크립트 언어 - 서버에 해석되어 실행된 후 결과만 클라이언트로 보냄 - 종류 : ASP, JSP, PHP, 파이썬 클라이언트용 스크립트 언어 - 클라이언트 웹 브라우저에서 해석되어 실행 ..

[프로그래밍] 절차적 프로그래밍 언어, 객체지향 프로그래밍 언어

1. 절차적 프로그래밍 언어 - 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어 (예시> 설계 -> 디자인 -> 생산 -> 테스트) - 프로그램이 실행되는 절차를 중요시 한다. - 데이터를 중심으로 프로시저를 구현하며, 프로그램 전체가 유기적으로 연결되어 있다. - 자연어에 가까운 단어와 문장으로 구성된다. - 과학 계산이나 하드웨어 제어에 주로 사용된다. - C언어, 알골, 코볼, 포트란 등이 있음 - C언어 특징 C언어 - 1972년 미국 벨 연구소의 데니스리치에 의해 개발 - 시스템 프로그래밍 언어로 널리 사용됨 - 고급 프로그래밍 언어이면서 저급 프로그래밍 언어의 특징을 모두 갖춤 - 이식성이 좋아 컴푸터 기종에 관계없이 프로그램을 작성할 수 있음 2. 객체..