본문 바로가기

IT/CS5

[CS] OOP란 [ OOP(Object-Oriented Programming)란 ] 프로그램 설계방법론의 일종으로 명령형 프로그래밍에 속한다. 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라 프로그램을 수많은 객체(Object)라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다. OOP는 현실 세계를 프로그래밍으로 옮겨와 현실 세계의 사물들을 객체로 보고, 그 객체로부터 개발하고자 하는 특징과 기능을 뽑아와 프로그래밍하는 기법입니다. OOP로 코드를 작성하면 재사용성과 변형가능성을 높일 수 있습니다. [ OOP의 5가지 설계 원칙 ] SRP(Single Responsibility Principle, 단일 책임 원칙):.. 2023. 11. 13.
동기와 비동기 데이터 처리 모델 데이터 처리 모델은 데이터를 받는 방식으로, 동기식 처리와 비동기식 처리 모델이 존재 동기(Synchronous) - 데이터의 요청과 결과가 한 자리에서 동시에 일어나는 것. 직렬적으로 일을 처리한다. 즉, 요청이 들어오면 순차적으로 작업을 수행하고 해당 작업이 수행중일때 다른 작업은 대기. - 사용자가 데이터를 서버에게 요청하면 그 서버가 데이터 요청에 따른 응답을 사용자에게 다시 리턴해주기 전까지 다른 활동을 할 수 없다. 한 개의 데이터 요청에 대한 서버의 응답이 이루어질 때까지 계속 대기 - 여러 요청을 동시에 처리할 수 없다. 비동기(Asynchronous) - 동시에 일어나지 않는것. 요청과 결과가 동시에 일어나지 않을 거라는 약속이다. 하나의 요청에 따른 응답을 즉시 처리하.. 2023. 11. 9.
Coroutine, Thread 차이와 특징 동기란 요청을 보낸 후 요청에 대한 반환값을 얻기 이전까지 대기하는걸 의미하고, 비동기는 그 대기시간동안 다른 일을 수행하여 효율성을 높히는걸 의미 동기와 비동기는 ‘대기’가 필요한 작업들이 빈번한 프로그래밍에 등장하는 개념이고 이를 ‘blocking’으로 명명하여 예로는 OS 시간에 배웠던 I/O 나 Network Request/Response 처리가 있습니다. 과거에는 앞서 말한 예를 처리할때에만 비동기를 사용했던것으로 기억하는데요. 현재에는 어떤 작업이든지 잘게 쪼개어 비동기로 하는 것으로 보입니다. 이런 분위기를 이끌어 온것은 사용이 간편해짐을 들 수 있는데 여기서 설명할 Coroutine 개념도 Thread 보다 비동기 사용이 쉽도록 만들어주었기 때문아닐까 생각이 듭니다. Process & Th.. 2023. 11. 8.
[CS] 동기와 비동기 동기(sync) - 코드가 동기적으로 동작한다 => 코드가 반드시 작성된 순서 그대로 실행 비동기(async) - 코드가 비동기적으로 동작한다 => 코드가 반드시 작성된 순서 그대로 실행되는 것이 아니다. 2023. 11. 6.