DEVELOPER B 🌱/CS

    프로그래밍 패러다임 : 절차지향 vs 객체지향 vs 함수형

    프로그래밍 패러다임 : 절차지향 vs 객체지향 vs 함수형

    1. 프로그래밍 패러다임이란? 프로그래밍 패러다임이란 간단하게는 프로그래밍의 스타일을 뜻하며, 프로그램은 순차, 분기, 반복, 참조로 구성되어지는데 이를 어떤 관점(스타일)을 중심적으로 설계하느냐에 따라 패러다임의 종류가 나뉩니다. 다시 말하면, 프로그래밍 패러다임은 개발자로 하여금 프로그래밍할 때에 관점을 제시해주는 역할을 합니다. 현재 프로그래밍 패러다임에는 정말 많은 종류의 패러다임이 존재하고 있습니다. 패러다임은 크게 명령형과 선언형 프로그래밍으로 나뉘어집니다. 명령형 프로그래밍은 컴퓨터에 문제를 어떻게 해결하는지 명령을 내리는 방식으로, 대표적으로 절차지향 프로그래밍과 객체지향 프로그래밍이 있습니다. 선언형(함수형) 프로그래밍은 컴퓨터에게 무엇을 해야하는지를 선언해주는 방식으로, 함수형에서는 어..

    객체 지향 프로그래밍이란? (Object-Oriented Programming, OOP)

    객체 지향 프로그래밍이란? (Object-Oriented Programming, OOP)

    객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란? 객체 지향 프로그래밍이라는 이름에서 알 수 있듯이 객체 지향 프로그래밍이란 객체를 지향하는 프로그래밍 방식이란 것을 알 수 있습니다. 위키백과에서는 객체 지향 프로그래밍을 아래와 같이 정의합니다. 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 쉽게 만들기 때문에 대규모 소프트웨..

    버퍼(Buffer)란?

    버퍼(Buffer)란?

    앞서 정리했던 스트림과 늘 붙어다니는 개념이 바로 버퍼(Buffer)다. 버퍼도 스트림과 같이 일상에서 자주 쓰이는 용어다. 누구나 한번쯤 영상을 보다가 멈추면 "버퍼링에 걸렸다"라고 말해본 경험이 있다. 여기서 말하는 버퍼링이 버퍼의 동작을 일컫는 말이다. 스트림과 마찬가지로 버퍼라는 용어는 여러 영역에서 다양하게 적용되어 사용된다. 하지만 큰 맥락은 비슷하기 때문에 스트림을 정리하는 참에 버퍼까지 정리해두면 이후에 공부를 할때 도움이 될 것 같아 정리해두기로 했다. 1. 버퍼(Buffer)란? 우선 영단어 Buffer의 뜻을 알아보면, Buffer 명사 1. 완충제 2. 완충 장치 동사 1. 완화하다 2. ~를 보호하다 완충 장치라는 말만 보고선 쉽게 버퍼의 뜻을 이해하기는 어렵다. 하지만 버퍼의 사..

    스트림(Stream)이란?

    스트림(Stream)이란?

    우리는 일상속에서 스트림(Stream)이라는 단어를 정말 많이 들어봤을 것이다. 유튜브와 같은 라이브&비디오 스트리밍 사이트, 넷플릭스와 같은 비디오 스트리밍 사이트, 스포티파이와 같은 음악 스트리밍 사이트 등등 정말 많은 곳에서 스트림(Stream)이라는 용어를 사용한다. 물론 프로그래밍 언어상에서도 스트림이라는 단어를 자주 볼 수 있다. 입출력 관련된 내용을 다룰 때 꼭 한번씩은 봤던 기억이 난다. 스트림의 큰 맥락을 이해하면 앞으로 공부를 할 때 좀 더 수월하게 이해할 수 있을 것 같아 정리해두기로 했다. 🤗 1. 스트림(Stream)이란? 우선, 영단어 Stream의 뜻을 알면 좀 더 이해하기 쉬워진다. Stream (명사) 1. 개울, 시내 2.(액체 기체의) 줄기 (동사) 1. 줄줄[계속] 흐..

    [네트워크] 01. 네트워크의 정의, 분류, 통신방식, 프로토콜

    [네트워크] 01. 네트워크의 정의, 분류, 통신방식, 프로토콜

    01. 네트워크 01 - 01. 네트워크란? 컴퓨터 네트워크 또는 컴퓨터망은 노드들이 데이터를 공유할 수 있게 하는 디지털 전기 통신망의 하나이다. 즉, 분산되어 있는 여러 컴퓨터들을 통신망으로 연결한 것을 말한다. 컴퓨터 네트워크에서 컴퓨터 장치들은 노드 간 연결을 사용하여 서로 데이터를 교환한다. * 노드 : 네트워크에 속한 컴퓨터 또는 통신 장비를 뜻하는 말 01 - 02. 인터넷이란? 인터넷은 컴퓨터로 연결하여 TCP/IP라는 통신 프로토콜을 이용해 문서, 그림 영상과 같은 여러가지 데이터를 공유하도록 구성된 세상에서 가장 큰 전세계를 연결하는 네트워크 01 - 03. 네트워크 vs 인터넷 vs www 위의 내용을 정리하자면, 네트워크란 여러 개의 시스템들이 연결되어 있는 하나의 통신망이라고 볼 ..