프로그래밍을 처음 배울때 hello world 다음으로 배우는 것이 변수입니다

우리는 이변수에 대해서 얼마나 알고있을까요?

종종 책을 펴서 공부를 하다보면 책에는 변수는 값을 담는 상자 그릇 이라고 표현을 많이합니다.

저또한 남들 한테 변수를 설명해줄때 그릇과 상자라고 이야기를 하곤 했습니다.
이건 잘못된 설명이며 프로그램을배울때 변수의 데이터가 어디에 저장되어있는지 정확히 알아야 합니다.

그렇다면 변수란 무엇이며 어떤 변수들이 있는 지 설명 하겠습니다.

 

변수란 데이터를 저장할수 있는 메모리 공간입니다.  여기서 메모리 공간이란 프로그램이 실행 될때

프로세스가 할당 받은 메모리 공간안을 의미 합니다. 프로세스가 메모리 공간을 할당 받을때는 

총 4개의 구역의 메모리 공간을 할당 받습니다. Stack , heap, data , code 영역이 생기게 됩니다.
여기서 변수는 stack 영역의 메모리공간에도 들어가며 data공간에도 들어가면 heap영역에도 들어갑니다





 

 

절차지향 과 객체지향 

프로그래밍을 하기에 앞서 절차 지향이란 무엇이며 객체 지향이란 무엇인지

알고 프로그래밍을 할 필요가 있습니다.

절차지향과 객체지향 서로 무엇이다르며 지금은 왜 객체 지향을 쓰고있는지 

알아 보겠습니다.

 

객체지향이 나오기 이전 절차 지향 부터 알아보겠습니다.

 

절차 지향이란 (Procedural Programming )

Procedural Programming 이라 하며 Procedural 란 말은 여기서 절차라는 말은 오역이라고 합니다.

여기서 Procedural란

  • 프로그래밍에서 프로시저는 루틴이나,서브루틴 즉 함수이다. 

 

그렇다면 우리가 알고 있는 절차지향 은 순차적으로 내려가는게 아니라는걸까요?

 

모든 프로그램은 순차적으로 내려갑니다 그렇다고 객체지향이 아래에서 위로 코드를 읽지않는다는건 누구나 아는 사실입니다.

 

Procedural Programming 코드를 함수 또는 절차라는 작은 단위로 분할하여 재사용하기 쉽고 실행 흐름이 위에서 아래로 진행되도록합니다. 이 스타일은 이해하고 구현하기 쉽습니다. 

즉 함수 호출을 통해 추상화와 재사용성을 높이는 것이  Procedural Programming 입니다.

 

 

객체지향이란 (Object Oriented Programming)

객체 지향 기법 (Object Oriented Programming)의 정의를 보면 실제세계를 모델링한 소프트웨어 개발론이라고 나와있습니다.

그렇다면 실제 세계를 어떻게 개발한것이며 어떻게 프로그래밍을 해야 객체지향이라고 하는것일까요?

객체지향을 알려면 일단 객체 라는 것이 무엇인지 알아야 합니다.

객체(object)란

데이터(속성)과 이 데이터를 처리하귀위한 함수(메소드)를 결합 시킨 실체입니다.

실제 세계를 모델링을 한것이 객체지향기법이니 실제 세계를 표현해 

데이터 와 메소드를 설명 드리겠습니다.

여기서 객체 의 속성이라고 하면 그 사물이 가지고있는 고유한 데이터 입니다.

얘를 들면 요즘 핫한 일론머스크의 속성은 나이,키, 재산 , 학력 등등이있습니다.

그렇다면 메소드는 어떤것이있을까요. 일론머스크가 행동하는 것을 메소드라고 할수있겟습니다.

하지만 객체지향이란것은 이렇게 간단히 설명할수 없습니다.

 

 

 

속성은 객체들이 가지고 있는 데이터값을 단위별로 정의한것이고,

메소드는 구체적인 연산을 정의한것입니다.

 

 

 

 

 

'개발 > 개발지식' 카테고리의 다른 글

변수(Variable)란  (0) 2021.04.21
W3C  (0) 2021.04.17
하루하루 읽다보면 늘어가는 개발지식 조엘 온 소프트웨어편 4-1  (0) 2021.04.12

W3C 란 World Wide Web Consortium 의 약자입니다.

W 가 3개가 들어 가있고 뒤에 Consortium 의 앞글자를 따 W3C입니다.

그러면 W3C는 무엇일가요 HTML 창시가 팀버너스리 중심으로 1994년 설립되었습니다.

 

그렇다면 W3C는 무슨일을 할까요. 웹기술의 표준을 정의합니다.

W3C에서 CSS 가 탄생햇습니다. 

더욱 자세한 내용은 ko.wikipedia.org/wiki/W3C 이쪽을 참고하시는게 더욱 도움이 됩니다.

4장. 개발자가 꼭 알아둬야 할 유니코드와 문자 집합에 대한 고찰 2편

인코딩

인코딩에 대해 가장 중요한 사실 한가지는 일반 텍스트란 개념은 존재하지 않다라는 것입니다.

우리가 보는 html 문서의 head태그 에서도 문자열인코딩의 규칙을 기재해줘야 하는 것이 있다.

 

'개발 > 개발지식' 카테고리의 다른 글

변수(Variable)란  (0) 2021.04.21
절차지향과 객체지향 (본문수정중)  (0) 2021.04.21
W3C  (0) 2021.04.17

+ Recent posts