게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 안녕하세요~ 클레스에서 궁금한거요 ^^
작성자: 송원석
작성일시: 2004-04-27 17:14,  조회수: 3,162
안녕하세요? 송원석입니다. ^_^

먼저 의도한 것은 아니지만 혼란을 드려서 대단히 죄송합니다. 두 번째 질문하신 내용은 폰트로 인해서 중간에 스페이스가 있는 것처럼 보이는 것으로서, 실제 저의 의도는 자료형을 지정해주고자 하는 것이 아니라 그냥 통채로 변수를 선언하려고 한 것입니다. ^_^;;;

제가 변수명 앞에 자료형의 접두어를 붙이는 버릇이 있는데요. 이를테면 문자열 같은 경우에는 str 을 변수명 앞에 접두어로 붙여서 strSQL 하는 식으로 말입니다. 그런데 정수형에는 그냥 i 자만 붙히기 뭐해서 int 라고 접두어를 붙힌 것입니다. 즉 제 의도는 intIndex 라는 정수형 변수를 선언하고자 한 것이었습니다만 폰트 때문에 마치 int Index 처럼 보이는군요.

그리고 첫 번째 질문하신 내용은 비주얼 베이직 계열의 언어만을 사용해 보셨다면 조금 이해하시기 어려우실지도 모르겠습니다. 최대한 이해하기 쉽게 설명을 드리도록 하겠습니다. 간단하게 말씀드려서 일반적인 보통의 변수들은 내부적으로 단 한 군데의 메모리에만 변수값이 저장됩니다. 제 설명이 조금 무식하다고 스스로도 생각됩니다만 이런식으로 말씀드리는 것이 더 이해하기 쉬울 것이라고 생각합니다. 아무튼 그래서 그 변수 자체가 바로 그 변수값을 가지고 있지요. 이를테면 다음과 같이 말입니다. ^_^;;;
strSQL = "SELECT * FROM MyTable"
반면 개체에 해당하는 변수는 모두 두 군데의 메모리에 값과 참조가 나누어져 저장됩니다. 두 군데 중 한 군데는 메모리상의 특수한 장소에 위치해 있으면서 실제로 변수값이, 사실 이 경우에는 단순한 값이 아니라 해당 개체의 인스턴스가, 이 특수한 메모리 영역에 저장이 되죠. 그리고 또 다른 한 군데에는 그 특수한 메모리 영역의 주소, 즉 참조가 저장되는 것이죠.
Set objRec = Server.CreateObject("ADODB.RecordSet")
즉 위의 코드와 같은 경우 objRec 라는 변수는 위의 strSQL 라는 변수와 같은 메모리 공간에 위치해 있습니다. 그러나 strSQL 변수에는 "SELECT * FROM TABLE" 라는 문자열값 그 자체가 들어있는 반면 objRec 변수에는 레코드셋의 개체가 저장되어 있는 어떤 특수한 메모리 공간의 주소가 들어있는 것이죠. 그래서 첫 번째 같은 경우에는 변수에 값을 할당한다고 얘기하고, 두 번째 같은 경우에는 변수에 참조를 할당한다고 얘기합니다. 즉 특수한 메모리 공간에 있는 실제 값이 저장된 메모리의 주소를 참조하기 때문이지요.

그렇기 때문에 개체를 생성할 때도 Server.CreateObject() 메소드가 사용되는 것인데, 이 메소드는 그 특별한 메모리 공간에 실제로 개체를 생성해서 초기화까지 해주고 그 다음에서야 그 주소값을 리턴해줍니다. 거꾸로 Nothing 은 그 메모리 공간의 실제 개체를 차곡차곡 잘 정리해서 파괴해주고 메모리 영역을 청소해주는 것이구요. 실제로도 이 과정에서 각각 개체의 생성자와 파괴자가 호출됩니다.

이런 개념에 대해서 보다 더 잘 알고 싶으시다면 C/C++ 의 생성자와 파괴자의 개념이라던가 .NET 프레임워크의 Value 데이터형과 Reference 데이터형의 개념등을 공부해 보시기 바랍니다. 그리고 스택과 힙의 차이등에 대해서도 알아두시면 보다 고급의 프로그래밍 개념을 이해하시는데 도움이 되실 것입니다. ^_^

감사합니다.
IP 주소: 61.80.31.136
전체 1 건의 댓글이 존재합니다.

오마르

히~ 고맙습니다~ 이해가 쏙쏙~ 되네요.. ^^
2004-04-27 19:30
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 71 페이지입니다.
게시물
364

html tag를 없애는 정규식에서의 궁금증

전C

2004-04-30 5,487
363

re: html tag를 없애는 정규식에서의 궁금증

송원석

2004-04-30 3,312
362

re: html tag를 없애는 정규식에서의 궁금증

전C

2004-04-30 3,727
361

re: html tag를 없애는 정규식에서의 궁금증 [1]

송원석

2004-04-30 3,345
360

배열에 대해 궁금한게 있는데요..

오마르

2004-04-29 1,036
359

re: 배열에 대해 궁금한게 있는데요.. [1]

송원석

2004-04-29 3,050
358

안녕하세요~ ^^

오마르

2004-04-28 879
357

re: 안녕하세요~ ^^

송원석

2004-04-28 2,951
356

ㅎㅎ 접니다.

궁금이

2004-04-28 967
355

re: ㅎㅎ 접니다.

송원석

2004-04-28 3,428
354

re: ㅎㅎ 접니다. (메일 주소 입니다) [1]

궁금이

2004-04-28 879
353

클래스로 DB 입,출,삭제한다면?

김지영

2004-04-27 897
352

re: 클래스로 DB 입,출,삭제한다면? [1]

송원석

2004-04-27 3,080
351

안녕하세요~ 클레스에서 궁금한거요 ^^

오마르

2004-04-27 959

re: 안녕하세요~ 클레스에서 궁금한거요 ^^ [1]

송원석

2004-04-27 3,162
349

안녕하세요~ 정규식에서요~ ^^

오마르

2004-04-26 949
348

re: 안녕하세요~ 정규식에서요~ ^^ [1]

송원석

2004-04-26 3,241
347

파일큐브, 윈도우2000 서버와 윈도우XP에서의 차이점은?

영호

2004-04-25 983
346

re: 파일큐브, 윈도우2000 서버와 윈도우XP에서의 차이점은?

송원석

2004-04-25 3,124
345

아..........답답해서.....도와주세요...

최경우

2004-04-24 995
344

re: 아..........답답해서.....도와주세요... [1]

송원석

2004-04-25 2,994
343

즐거운 주말되세요~ ^^ [1]

오마르

2004-04-24 889
342

질문 할꼐 많은데 한번에 싸잡아서 작성합니다.

궁금이

2004-04-23 1,021
341

re: 질문 할꼐 많은데 한번에 싸잡아서 작성합니다.

송원석

2004-04-24 3,531
340

RSS 에 대한 질문이 있는데요.. [1]

오마르

2004-04-23 1,009