본문 바로가기

CS14

[CS/Basic] 마침내, 객체지향 프로그래밍 (OOP, Object-Oriented Programming) 쉴새없이 달려온 프로그래밍 패러다임,, 마침내, 프로그래밍을 조금이라도 맛본 개발자들이라면 오다가다 자주 마주치는 '객제지향' 에 대해 다뤄보는 시간을 가져볼까 합니다. '객체(Object)' 란 개념에 대해 미리 선행하였으나, 기억이 가물가물하다면 아래 포스팅을 참고해 주시길 바랍니다. 객체(Object)가 무엇인가요? [CS/Basic] 그래서, 객체(Object)가 무엇인가요? 프로그래밍의 패러다임 중, [목적/방식]에 따라 명령형 / 선언형 2가지 형태를 앞선 포스팅에서 살펴보았습니다. 좀 더 파고들어, 명령형에서 파생되는 절차적, 객체지향 프로그래밍을 이해하기 iosdevlime.tistory.com 객체지향 프로그래밍 패러다임의 시작 데이터의 구조화, 객체(Object)간의 상호작용을 통한 문.. 2023. 1. 25.
[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.