전공 썸네일형 리스트형 파이썬_클래스 / 예외 처리 / 파일 처리 객체 지향 프로그래밍의 개념절차 지향 프로그래밍과 객체 지향 프로그래밍의 장단점 절차 지향 언어객체 지향 언어장점 - 코드의 실행 속도가 빠르다 - 컴퓨터 구조에 대한 이해가 있으면 빠르게 동작하도록 최적화를 할 수 있다 - 코드 재사용이 용이하다 - 유지 보수가 쉽다 - 대형 프로젝트를 관리하기에 적합하다단점 - 유지 보수가 어렵다 - 직관적인 코드 분석이 어렵다 - 대형 프로젝트를 하기에는 문법적 편의성이 좋지 못하다 - 코드의 실행 속도가 상대적으로 느리다 - 초기에 좋게 설계하기가 어려유며 많은 시간이 투자된다 클래스의 개념과 정의객체 - 객체 자체가 가질 수 있는 정보와 그러한 정보를 기반으로 객체가 수행할 수 있는 행동을 통해 정의 - 정보(속성)와 행동(메서드/함수)을 정의할 수 있게 해주.. 더보기 파이썬_모듈, 패키지 모듈의 개념모듈 - 파이썬의 함수, 클래스 등의 정의와 변수와 실행문 등을 저장한 파일 - 모듈 이름 = 파일명 (모듈은 파일 단위) - 자주 사용하는 코드들을 묶어 따로 파일로 저장해 사용 패키지 - 특정 기능관 연관된 모듈의 모음 - __init__.py 파일을 갖고 있고, python3.3 버전부터 없어도 인식되지만 하위 버전과의 호환을 위해 생성하는 것이 안전함 라이브러리 - 특정 기능과 연관된 패키지의 모음 - 파이썬에서는 패키지와 라이브러리가 개념적으로 차이 없이 쓰임 프레임워크 - 애플리케이션의 기능을 수행하기 위해 설계한 데이터 흐름과 구조를 갖는 모듈과 패키지의 모음 ex. Django, Flask, FastAPI 등 모듈의 유형실행문만 있는 모듈 - 일반적으로 메인 모듈로 사용하기 위해.. 더보기 자료구조_알고리즘 정렬 알고리즘정렬 - 기억 공간 내의 자료 중에서 레코드의 특정 항목에 따라 오름차순 또는 내림차순으로 자료를 재배치하는 작업내부정렬 - 데이터의 양이 적을 때 주기억 장치 내에서 장렬하는 방법 - 외부 정렬에 비해 속도는 빠르지만 데이터의 양이 사용 가능한 주기억 장치 공간보다 많으면 부적합함외부 정렬 - 많은 양의 데이터를 몇 개의 서비 파일로 나누어 각각 내부 정렬을 한 후 테이프나 디스크 등의 보조 기억 장치 내에서 병합하는 방법 - 속도는 느리지만 데이터의 양이 많은 경우 효과적내부 정렬(주기억 장치)삽입법삽입 정렬, 셸 정렬교환법버블 정렬, 퀵정렬선택법선택 정렬, 힙 정렬병합법병합 정렬분배법기수 정렬외부 정렬(주기억 장치 + 보조 기억 장치)병합법병합 정렬 정렬 알고리즘의 분류정렬 알고리즘 선.. 더보기 Java_예외 처리, 스레드 예외처리예외가 발생하는 경우 - 정수를 0으로 나누는 경우 / 배열의 첨자가 범위를 벗어났을 경우 / 부적절한 형 변환이 발생한 경우 / 입출력 시 인터럽트가 발생한 경우 / 지정한 파일일 존재하지 않는 경우 등에러 발생 시 에러 메시지를 출력하기 위해 제공 되는 메서드 - getMessage() : 해당 객체에 포함된 에러 메시지 - toString() : 예외 클래스와 해당 객체에 포함된 에러 메시지 - printStackTrace() : 예외가 발생하기까지의 메소드 호출 순서를 화면에 출력다중 try - catch - finallytry{ 예외를 발생시킬 가능성이 있는 문장들;}catch(예외 타입1){ 예외 타입1 발생 시 처리할 문장들;}catch(예외 타입2){ 예외 타입2 발생 시 처리.. 더보기 Java_컬렉션 제네릭 컬렉션(Collection)요소(element) 객체들의 저장소 - 객체들의 컨테이너 - 요소의 개수에 따라 크기 자동 조절 - 요소의 삽입, 삭제에 따른 요소의 위치 자동 이동고정 크기의 배열을 다루는 어려움 해소다양한 객체들의 삽입, 삭제, 검색 등의 관리 용이컬렉션은 제네릭(generics) 기법으로 구현됨// 제네릭 - 모든 종류의 데이터 타입을 다룰 수 있도록 일반화된 타입 매개 변수로 클래스나 메소드를 작성하는 기법 - 타입 매개 변수 : , , // ex. Vector -> Vector컬렉션의 요소는 객체만 가능 - 기본적인 int, char, double 등의 기본 타입 사용 불가 ( JDK1.5부터 박싱/언박싱으로 기본 타입을 객체로 자동 변환 )배열(array)컬렉션(colle.. 더보기 파이썬_변수, 자료형 / 제어문, 반복문 / 함수 파이썬 언어의 개요파이썬 - 1991년 귀도 반 로섬이 발표한 오픈 소스 인터프리터 언어이다. - www.python.org를 를 통해 무료로 배포한다. - 명령 프롬프트나 셸에서 실행한다. 파이썬 언어의 특징장점오픈 소스비용이 들지 않고, 전 세계의 개발자가 참여하여 점점 발전하는 언어이다.쉽고 간결한 문법어렵고 규칙이 많은 기존 프로그래밍 언어들과 달리 문법이 쉽고 간결하여 빠르게 배울 수 있다. 기존 언어의 개념을 안다면 매우 빠르게 익힐 수 있다.뛰어난 가독성코드 블록( {} 중괄호 문법 )을 쓰지 않고 들여쓰기로 구분하여 블록을 구분하기 쉽다. 코드가 간결하여 이해하기 쉽고, 공동 작업이나 유지 보수가 쉽다. 동적 타이핑실행 중에 자료형이 체크되고 메모리가 자동으로 관리된다.유니코드 사용유니코드.. 더보기 자료구조_비선형 구조 비선형 구조트리의 개요트리의 정의 - 트리는 계층적인 구조를 나타내는 비선형 자료구조로, 노드와 간선으로 이루어져 있다. // 트리의 대표적인 특징트리에는 루트 노드가 단 하나뿐이고, 루트 노드는 트리의 최상위에 위치한다. 다른 노드는 모두 루트 노드에서 파생되며 계층 구조를 이룬다.트리를 구성하는 각 노드는 모두 부모 노드(Parent Node)와 자식 노드(Child Node)의 관계가 되고 간선(Edge)으로 연결된다. 이때 부모 노드는 자식 노드를 여러 개 가질 수 있지만, 자식 노드는 부모 노드를 하나만 가질 수 있다.각 노드 사이에는 사이클이 허용되지 않는다. 따라서 임의의 노드에 시작해 간선을 따라가면 다시 이전 노드로 돌아갈 수 없다. 그러므로 트리는 비순환 구조라고 할 수 있다.트리는 비.. 더보기 자료구조_선형 구조 선형 구조연결리스트의 개요연결리스트의 정의 - 연결리스트(Linked List)는 데이터를 일렬로 저장하는 자료구조로, 각각의 노드(Node)가 데이터와 다음 노드를 가리키는 포인터(Pointer)로 구성되어 있다. 즉 하나의 노드에는 데이터를 담는 변수 하나와 다음노드를 가리키는 변수 하나가 있다. 배열과 연결리스트 비교 - 배열 : 같은 타입(type)의 자료를 연속된 공간에 저장하기 위해 사용하는 선형 구조 // 데이터 수가 자주 바뀌지 않고, 참조가 자주 일어날 때 배열을 사용하는 것이 유리하다. - 연결리스트 : 기억 공간에 물리적으로 흩어져 있는 자료들이 논리적인 순서를 갖도록 링크를 사용해 연결한 선형 구조 // 데이터의 삽입과 삭제가 자주 일어나서 데이터의 수가 자주 바뀔 때 연결리스트를 .. 더보기 이전 1 2 다음