IT 개념 정리 12

자주 헷갈리는 비슷한 개념 정리

포스팅 목적 비슷해서 자주 헷갈리거나 비교가 필요한 용어들을 정리합니다. 비슷한 관계이거나, 포함하는 관계이거나 전혀 다른 관계일 수 있습니다. 계속해서 추가할 예정입니다. 함수 ( Function ) VS 메소드 ( Method ) 함수 : 특정 작업을 수행하는 기능 단위 메소드 : 클래스, 구조체, 열거형에 포함되어 있는 함수 오버라이딩 ( Overriding ) vs 오버로딩 ( Overloading ) 오버라이딩 : 상속 받은 부모의 메소드를 재정의 하는 기법 오버로딩 : 함수 이름이 같더라도 전달되는 인자의 개수나 타입에 따라 다르게 동작하도록 구현하는 기법 JavaScript 에서는 기본적으로 제공하지는 않습니다. 이름이 같은 함수라면 뒤에서 선언된 함수로 재선언 됩니다. 함수에 전달되는 모든..

IT 개념 정리 2021.11.01

[프로그래밍 패러다임] 객체 지향 프로그래밍

포스팅 목적 프로그래밍 패러다임 중 객제 지향이 무엇인지 정의하고, 객체 지향의 특징과 5원칙, 객체 지향 프로그래밍의 장단점에 대하여 알아보겠습니다. 객체 지향이란? 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 은 컴퓨터 프로그래밍의 패러다임 중 하나입니다. 객체 지향 프로그래밍은 프로그램을 상태(state)와 행위(behave)로 이루어진 객체라는 기본 단위로 나누고, 이 객체들간의 상호 작용을 통해 프로그램을 설계하고 개발하는 것 입니다. 객체 지향은 절차적 프로그래밍과 상반되는 개념은 아니며 아래와 같은 객체 지향의 특징이 드러나야 합니다. 객체 지향이라고 할 수 있습니다. 객체 지향의 특징 1. 캡슐화 (Encapsulation) 캡슐화는 데이터(속성)와 데..

IT 개념 정리 2021.10.09

[프로그래밍 패러다임] 패러다임 구분과 함수형 프로그래밍

포스팅 목적 이 포스팅에서는 프로그래밍 패러다임이 무엇인지 알아봅니다. 주요한 프로그래밍 패러다임을 비교하여 설명하고 그 중 함수형 프로그래밍에 관련된 내용을 알아보겠습니다. 프로그래밍 패러다임이란? 프로그래밍 패러다임이란 프로그래밍 관점을 제공해주는 프로그래밍 방식이나 스타일을 말합니다. 프로그래밍 언어별로 특정한 패러다임을 지원하고 여러 가지 패러다임을 지원하기도 합니다. 보통 어떤 기법을 금지하는 제한을 하거나, 어떤 기법을 쓰게하는 하는 지원을 합니다. 패러다임은 프로그래밍 스타일을 말하는 것이기 때문에 종류가 다양합니다. 프로그래밍 언어에 많은 영향을 끼치는 주요한 프로그래밍 패러다임은 아래와 같이 구분할 수 있습니다. 명령형 프로그래밍 ㄴ 절차적 프로그래밍 ㄴ 객체지향 프로그래밍 선언형 프로그..

IT 개념 정리 2021.10.08

[네트워크] 인터넷과 웹

포스팅 목적 인터넷에서 정보를 확인하는 방법을 가장 단순화하면 주소창에 주소를 입력하는 것이라고 볼 수 있습니다. 그런데 실제로 웹은 이렇게 간단하게 동작하지 않습니다. 인터넷이 연결이 안될 경우 어디서 문제인지, 페이지가 느리다면 어디가 왜 느린지 알기 위해서는 웹이 어떻게 동작하는지 일련의 과정을 알아야합니다. 더불어서 인터넷과 웹에 대한 정의와 관련된 기본적인 내용들을 확인해 보겠습니다. 인터넷 정의 : TCP/IP 프로토콜을 기반으로 하여 전 세계 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망 프로토콜은 원활한 데이터 교환을 수행하기 위해 표준화된 통신규약입니다. TCP/IP 는 IP 주소 체계를 따르며 TCP의 특성을 활용해 신뢰성을 유지할 수 있는 프로토콜 입니다. 관련된 내용은 TCP/..

IT 개념 정리 2021.09.22

[개념정리] 용어를 설명하는 방법

INTRO 어떤 개념에 대하여 사람들과 이야기 할 때 어떻게 하면 설명을 잘 할 수 있을지 고민했습니다. 제 포스팅에서 용어를 어떻게 대할지는 아마 이 글을 기반으로 할 것 같습니다. 고민한 결과 제가 어떻게 설명을 들었을 때 가장 이해가 잘 되었는지를 생각해 보았습니다. 이 개념이 어떤 카테고리 안에 있으며 어떤 특징을 가지고 있는지를 들었을 때 가장 잘 이해가 되었습니다. 사실 이건 용어의 정의에 해당하는 내용이네요. ~~~한 (특징) ~~ (카테고리) 의 꼴이니까요. 설명을 들을 때는 당연히 배경지식도 사용하니 듣는 사람이 얼마나 알고 있는지도 고려하면 더 좋고 예시가 있나면 나열하는 것도 이해하는데 도움이 됩니다. 용어 정의의 기준 용어의 정의를 정확히 알고 있는 경우 용어의 정의를 어느정도 할 ..

IT 개념 정리 2021.09.22

[자료구조] 자료구조란?

자료구조의 정의 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다. 다시 말해, 데이터를 효율적으로 활용하기 위해 사용하는 데이터를 저장하는 방법입니다. 자료구조의 중요성 문제를 해결할 때 자료구조의 종류별로 장단점을 가지고 있어서 성능에 많은 영향을 끼칩니다. 따라서, 상황에 맞는 자료구조를 적절히 선택해야 합니다. 자료구조의 종류 자료구조를 구분하는 방법은 조금씩 상이하지만 대체로 위와 같이 되어 있습니다. 자료구조별 상세 내용 위 자료구조 혹은 자료구조를 기반으로 만들어진 자료구조 중 세부적으로 알아볼 내용은 포스팅하여 링크를 추가할 예정입니다. 배열(Array) 스택(Stack) 힙(Heap) 큐(Queue) 트리(Tree) 그래프(Graph) 참고자료 ..

IT 개념 정리 2021.09.22

[객체지향] 의존성 주입

의존성 주입의 정의 객체지향 프로그래밍에서 객체가 필요로 하는 어떤 객체를 Constructor 혹은 Setter 를 통해 주입하는 것을 말한다. 의존성 주입의 장점 Unit Test가 용이해진다. 코드의 재활용성을 높여준다. 객체 간의 의존성(종속성)을 줄이거나 없엘 수 있다. 객체 간의 결합도이 낮추면서 유연한 코드를 작성할 수 있다. 참고 : [DI] Dependency Injection이란 무엇일까?, 의존성 주입

IT 개념 정리 2021.05.03

배치 프로그램

작업할 때 사용자가 기능을 수행시키는 경우 온라인, 저녁 시간대에 일괄적으로 처리하는 걸 배치라고 부르고 있었는데 좀 더 확실하게 정리해 보고 싶어서 정리했다. 1. 배치란? 일괄 처리 ( Batch Processing ) 은 개별적인 요청이 있을 때가 아닌 일괄적으로 대량건을 처리 하는 처리 방식이다. 2. 배치의 특징 대량 건의 데이터를 처리한다. 특정 시간에 실행된다. 일괄적으로 처리한다. 3. 배치를 사용하는 이유 실시간으로 응대해야하는 시스템이 아닐 경우 시스템의 과부하를 줄이기 위해 사용한다. 보통 전산 시스템을 사용할 때 하루 이틀 등 시간이 소요되는 작업은 배치로 이루어진다... 라고 보면 되지 않을까? ( 아마도...? ) 예를 들어 은행에서 계좌를 개설한 사람에게 홍보 SMS을 발송하고..

IT 개념 정리 2021.03.21

쿠키, 세션의 특징과 사용하는 이유

1. 쿠키와 세션을 쓰는 이유 HTTP 2가지 특징인 비연결지향와 상태없음으로 인해 서버는 클라이언트의 상태를 알 수 없다. 클라이언트의 상태를 알아야 될 경우 ( ex. 인증 ) 쿠키와 세션을 사용한다. 2. HTTP 의 특징 비연결지향 ( Connectionless ) : request 에 대한 response 를 해주면 서버와 클라이언트가 연결이 끊어진다. 커넥션을 낭비하지 않기 때문에 리소스의 낭비를 줄일 수 있다. 상태없음 ( Stateless ) : 커넥션을 끊는 순간 상태 정보를 유지하지 않는다. 3. 쿠키 3.1. 쿠키의 특징 쿠키는 클라이언트 로컬에 저장되는 key-value 형태의 데이터이다. ( 이름, 값, 유효시간, 도메인, 경로 ) 클라이언트 로컬에 저장되기 때문에 상대적으로 변조..

IT 개념 정리 2021.03.21