본문 바로가기

CS/Computer Basic13

[CS/Basic] 절차적 프로그래밍은 '절차지향'이 아니다! 앞선 포스팅에서 '객체'에 대한 개념에 대해 짚고 넘어갔으니.. 이후 명령형 프로그래밍 패러다임 범주에 포함된 절차적 프로그래밍(Procedural Programming, PP) 객체지향 프로그래밍(Object-Oriented Programming, OOP) 위 2가지 프로그래밍 방식 중, 시대에 따른 패러다임 흐름(변화)을 살펴보기 위해 절차적 프로그래밍(Procedural Programming)을 선행하여 알아보도록 하겠습니다. 왜 '절차지향' 프로그래밍이 아닌, '절차적' 일까? '절차적(Procedural)' 프로그래밍은 프로시저(함수)를 활용한 프로그래밍 개념이다 절차적 프로그래밍의 영문 표기는 Procedural Programming 인데... 이를 한국어로 번역하게 될 경우 '절차' 혹은 '.. 2023. 1. 5.
[CS/Basic] 그래서, 객체(Object)가 무엇인가요? 프로그래밍의 패러다임 중, [목적/방식]에 따라 명령형 / 선언형 2가지 형태를 앞선 포스팅에서 살펴보았습니다. 좀 더 파고들어, 명령형에서 파생되는 절차적, 객체지향 프로그래밍을 이해하기에 앞서 코딩을 하면서 자주 사용되는 언어인 '객체(Object)'란 개념에 대해 슬쩍 알아보는 시간을 가져볼까 합니다. 그래서, 객체란 대체 무엇인가요? 객체(Object)란 ? 객체의 사전적 의미는, 특정 실체를 '객관화' 하여 인식하거나 이해하는 대상 사실, '객체'란 단어는 일상생활에서 흔히 사용되는 말은 아닙니다. 따라서, 철학적 측면으로 접근하여 이해해야 하는 개념이기도 합니다. 결론부터 얘기하자면, 다음과 같습니다. 세상에 실제로 존재하는 것을 '실체'라고 칭한다면, 내(주체)가 다른 실체를 바라볼때, 그 .. 2022. 12. 29.
[CS/Basic] 좀 더 나은 프로그램을 위해, 프로그래밍 패러다임 프로그래밍 언어, 3번째 포스팅입니다. 슬슬 그 끝이 보이기 시작합니다..? 👀 종류 및 특징 중, 이제 패러다임과 관련된 이야기를 나눠볼까 합니다. 패러다임 방법 혹은 목적 (저 수준/고 수준) 빌드(Build)유무 (컴파일 / 인터프리터) 자료형 지정 유무 프로그래밍 패러다임과 관련된 내용은 다소 철학적이고, 단번에 이해하기 어려운 개념이므로 본 포스팅에서는 예시를 활용하여 보다 쉽게 다뤄보도록 하겠습니다. 프로그래밍 패러다임(programming paradigm)이란? 특정 관점과 접근 방식에 따른 개발자의 코딩방식 패러다임(Paradigm)의 사전적 정의는 다음과 같습니다. 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는 사물에 대한 이론적인 틀이나 체계. 즉, 일종.. 2022. 12. 26.
[CS/Basic] 컴파일 에러와 런타임 에러는 언제 발생하나? 프로그래밍 언어의 유형에 대해 지속적으로 살펴보고 있습니다. 지난 포스팅에서 프로그래밍 언어의 종류 및 특징을 아래와 같이 정리했습니다. 패러다임 방법 혹은 목적 (저 수준/고 수준) 빌드(Build)유무 (컴파일 / 인터프리터) 자료형 지정 유무 이번 시간에는 언어의 종류를 구분하는 특징 중 자료형 지정 유무란 분류에 따른 언어의 특징을 살펴보겠습니다. 다만, 단순히 두루뭉실한 개념이 아닌, 실제 코드를 작성해보고 이에 발생되는 Error를 통해 알아보고자 합니다. Type Checking 정적/동적 언어의 분류 기준은 상수, 변수, 함수 등에 대한 타입을 확인하는 시점 앞서 포스팅에서 다룬 컴파일(Compiled), 인터프리터(Interpreter)언어에 대해 간단하게 짚고 넘어가보자면.. 컴파일 언.. 2022. 12. 6.
[CS/Basic] 컴파일? 인터프린터? 빌드(Build) 유무에 따른 비교 지난 포스팅에서는 프로그래밍 언어에 대한 간단한 개념과 개발자 혹은 컴퓨터의 편의성에 따른 저수준/고수준 언어에 대해 살펴보았습니다. 이번 포스팅에서는 조금 더 나아가, 프로그래밍 언어의 종류 중, 빌드(Build)의 유무에 따라 분류되는 컴파일 언어 / 인터프리터 언어에 대해 알아보겠습니다. 코드가 앱이 되는 과정 소스코드(Code)는 일련의 과정을 통해 병합되고 패키징되어 실행할 수 있는 앱으로 탄생한다 기초코드, 그러니까 소스코드(Source Code) 를 프로그래밍 언어로 작성하면 번역을 통해 기계어로 변환되는 과정을 거쳐서 컴퓨터가 명령을 수행하게 됩니다. 좀 더 구체적으로 살펴보자면, 소스코드가 모여 개발자의 의도가 담긴 목적코드(Object Code) 로서 변환되고 이러한 목적코드를 한데 묶.. 2022. 12. 5.
[CS/Basic] 컴퓨터와 개발자가 소통하는 방법, 프로그래밍 언어 프로그래밍이란 개념에 대해 간단하게 정리가 되셨다면, 아래와 같은 의문점이 생기기 마련입니다. '아하, 프로그래밍은 개발자가 컴퓨터에게 지시를 하기 위한 방식이구나! 그런데, 어떻게 컴퓨터와 소통을 하고 명령을 내릴 수 있을까?' 이번 포스팅에서는, 개발자가 프로그래밍을 위해 컴퓨터와 소통하는 방식인 프로그래밍 언어에 대하여 살펴보도록 하겠습니다. 프로그래밍 언어란? 프로그래밍 언어는 편의 대상에 따라 저 수준의 언어와 고 수준의 언어로 구분된다 지난 포스팅 내용 중 하나인 '땅콩잼 샌드위치 만들기' 영상을 기억하실까요? 여기서 아이들은 종이에 펜으로 꾹꾹 눌러가며 샌드위치를 만드는 방법, 즉 '레시피'를 건네게 됩니다. 비록, 땅콩잼 없는 땅콩샌드위치가 완성이 되었지만 여기서의 레시피는 특정 명령을 지.. 2022. 12. 4.