전체 글 24

객체 지향 프로그래밍

객체 지향 프로그래밍이란? 예전에는 비구조적 프로그래밍을 통한 코딩을 해나갔다. 비구조적 프로그래밍은 말 그대로 순차적으로 코딩해나가는 것을 의미한다. 만약 이전에 작성했던 코드가 필요하면 goto문을 활용하여 그 곳으로 이동하게 된다. 하지만 규모가 커지면 커질수록 뒤죽박죽이 되고 코드가 어떻게 연결되어 있는지 파악하는것 조차 힘들게 되버린다. 이런 문제점을 해결하기 위하여 객체지향 프로그래밍이 탄생하게 된다. 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립 된 단위인 객체들의 모임으로 파악하고자 하는 것이다. 기본 구성 요소 클래스(Class): 객체 지향 프로그래밍에서 특정 객체를 생성하기..

개발 상식 2023.11.17

버블 정렬

버블 정렬(bubble sort) 개념 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘 정렬 과정 1회전에 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, … 이런 식으로 (마지막-1)번째 원소와 마지막 원소를 비교하여 조건에 맞지 않는다면 서로 교환한다. 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 원소는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 원소까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다. 예제 💡 배열에 7, 4, 5, 1, 3이 저장되어 있다고 가정하고 자료를 오름차순으로 정렬..

컴퓨터의 구성

컴퓨터의 구성 요소 3가지 CPU → 연산 담당 메모리 → 데이터 저장 담당 입출력 장치 중앙 처리 장치(CPU: Central Processing Unit) 프로그램 실행과 데이터 처리 담당한다. a.k.a. 프로세서 컴퓨터의 특성과 성능에 큰 영향을 미친다. 처리하는 데이터 길이에 따라 32bit, 64bit 컴퓨터로 분리된다. 기억장치 CPU가 처리할 프로그램 코드와 데이터는 기억장치에 저장된다. 주기억장치 보조기억장치 레지스터와 캐시는 CPU 내부에 존재한다. ∴ CPU에 빠르게 접근 가능하다. 주기억장치 CPU에 가장 가까이 위치, 고속의 읽기 및 쓰기 가능하다. ∴ 가격이 비싸다. RAM(Random Access Memory) → 읽기 및 쓰기 가능, 휘발성 메모리 ROM(Read Only M..

선택 정렬

선택 정렬 (selection sort) 개념 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘 오름차순을 기준으로 했을 때 리스트의 첫 번째 인덱스에는 해당 리스트에서의 최솟값을 찾아 치환하고 그 다음 인덱스에서는 첫번째 인덱스를 제외한 리스트에서의 최솟값을 찾아 치환하고를 반복해 나가는 방식 정렬 과정 주어진 배열 중에서 최솟값을 찾는다 그 값을 맨 앞에 위치한 값과 교체한다 맨 앞에 위치한 값이 최솟값이라면 패스한다 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다 하나의 원소만 남을 때까지 위의 1~3 과정을 반복한다 예제 💡 배열에 9, 6, 7, 3, 5가 저장되어 있다고 가정하고 자료를 오름차순으로 정렬해보자 1 회전 첫 번째 자료 9를 두 번..