IT 프로그래밍/ASP2014. 1. 25. 03:23

이번에는 ASP 자료형에 대해서 알아보겠습니다.

 

자료형이란 변수나 상수가 가질 수 있는 값의 범위를 말합니다.

 

자료형을 지정하는 이유는 변수나 상수를 실제 메모리에 할당할 때 사용될 메모리 크기를 지정하기 위해서입니다.

 

예를 들면 숫자는 아무리 큰 숫자를 저장해서 16바이트면 충분하지만(4바이트 정도면 정수형은 -21억 ~ +21억까지 설정가능),

 

문자열은 1글자가 1바이트 메모리를 차지하게 되니깐 결국 변수에 지나치게 많은 메모리를 할당하게 되므로 시스템 성능에 심각한 영향을 줄 수 있습니다.

 

따라서 저장할 데이터 종류에 따라 변수나 상수의 자료형을 정확히 지정해야 합니다.

 

ASP, 펄(Perl), PHP와 같은 서버측 스크립트 언어는 변수나 상수의 자료형을 지정할 수 없습니다.

 

모든 변수의 자료형을 한 가지로 제한하기 때문입니다.

 

ASP는 모든 변수의 자료형을 Variant라는 형식으로 지정해 놓았습니다.

 

Variant는 특별한 형태의 자료형으로 모든 형태의 데이터를 저장할 수 있습니다.

 

Variant 형 변수는 저장되는 데이터의 형식을 자동으로 감지하여 숫자, 문자등으로 인식을 합니다.

 

간혹 자동으로 감지된 자료형이 원래 의도와 다르게 지정될 때가 있습니다.

 

이런 경우 하위 자료형 변환 함수를 이용해서 변수의 자료형을 변경해 주어야 합니다.

 

ASP 에서는 변수의 자료형을 Variant로 제한하지만, 저장되는 값에 따라 데이터 형태를 여러 가지 하위 자료형(하위 자료형)으로 정의합니다.

 

하위 자료형은 크게 숫자형, 문자형, 날짜형, 불린형(Boolean) 등으로 나눌 수 있습니다.

 

1. 숫자 자료형

 

  - 바이트형(Byte) : 0 ~ 255까지 정수를 저장할 수 있는 자료형  

  - 정수형(Integer) : -32,768 ~ +32,767(2바이트)까지 정수를 저장하는 자료형

  - 긴 정수형(Long) : -2,147,483,648 ~ +2,147,483,647까지 정수를 저장하는 자료형

  - 싱글(Single) : -3.402823E38 ~ -1.401298E-45 의 음수 범위와 1.401298E-45 ~ 3.402823E38의 양수 범위를 갖는 단정도 부동 소수점 숫                          자를 저장할 수 있는 자료형

  - 더블(Double) : -1.79769313486232E308 ~ -4.94065645841247E-324의 음수 범위와 4.94065645841247E-32 ~ 1.79769313486232E308의                            양수 범위를 갖는 배정도 부동 소수점 숫자를 저장할 수 있는 자료형

  - 통화(Currency) : -922,337,203,685,477.5808 ~ 922,337,203,685,488.5807의 범위를 가지는 통화형을 저장하기 위한 자료형

 

2. 문자 자료형

 

문자 자료형은 큰따옴표로 둘러싸인 문자열을 저장할 때 사용합니다.

 

Dim strName

strName = "강진일"

 

3. 날짜 자료형

 

날짜에 대한 정보를 저장하기 위해 미리 정해진 형식에 따라 시간과 날짜를 정의해서 사용합니다.

 

예를 들면 toDay라는 변수에 오늘 날짜를 저장하려면 다음과 같이 지정합니다.

 

Dim toDay

toDay = #01/03/2014#  <- '월/일/년 형태로 작성

 

만일 변수값을 저장할 때 #을 빼고 저장하면 숫자 연산이 이루어진 뒤 숫자 자료형으로 변수값이 저장되고 "" 따옴표를 사용하면 문자열로 인식합니다.

 

4. 불린형(Boolean)

 

변수값이 true와 false 중 하나만 되는 형태로 제어문에서 자주 사용합니다.

 

이 값을 정수형으로 변환하면 각각 -1 과 0으로 변환합니다.

 

Dim isLogin

isLogin = false

If isLogin = true Then

Response.Write "로그인하셨습니다."

End If

  

위 예제에서는 isLogin 값이 false 이기 때문에 아래의 If 문을 수행하지 않고 End If로 가게 됩니다.

 

만약 isLogin값이 true 로 지정했다면 If 문을 수행하고 "로그인하셨습니다."를 화면에 출력하게 됩니다.

 

즉 불린형은 참과 거짓을 구분하는 자료형이라 생각하시면 되겠습니다.

 

5. 기타 자료형

 

  - Empty : 값을 할당받지 못함

  - NULL : 데이터를 가지고 있지 않은 필드와 DB를 연동할 때 사용하는 자료형

  - Object : ASP 개체를 나타내는 자료형

 

비록 ASP가 변수형을 Variant로 처리하고는 있지만, 내부적으로는 변수의 하위 자료형에 따라 배정되는 메모리 양과 처리 속도가 다릅니다.

 

따라서 변수를 지정할 때는 그 변수가 사용할 자료형을 규정해서 사용하는 것이 좋습니다.

 

개발자는 현재 변수에 저장된 데이터가 어떤 타입으로 저장되어 있는지 확인할 필요가 있습니다.

 

확인해서 잘못된 자료형이 있다면 형변환 함수를 통해 적절한 하위 자료형으로 변경해주어야 합니다.

 

아래는 ASP 변수 선언과 ASP 변수의 하위 자료형에 대한 예제입니다.

 

예제 파일명은 TypeName.asp로 했습니다.

 

----------------------------------------------------------------------------------------------------------------

 

<%option explicit%>

<%

'변수 선언

Dim strVar, intVar, dateVar, boolVar, nullVar

 

'변수에 값 지정하기

 

strVar = "안녕하세요"

intVar = 15

dateVar = #2014/01/02#

boolVar = false

nullVar = null

%>

 

<html>

<body>

<h3> ASP 변수와 하위 자료형 확인하기<br><noshade>

 

<%

'변수 strVar의 하위 자료형 확인하기

Response.Write "strVar는 자료형이 <font color=red>" &TypeName(strVar) & "</font>입니다.<br>"

 

'변수 intVar의 하위 자료형 확인하기

Response.Write "intVar는 자료형이 <font color=red>" &TypeName(intVar) & "</font>입니다.<br>"

 

'변수 dateVar의 하위 자료형 확인하기

Response.Write "dateVar는 자료형이 <font color=red>" &TypeName(dateVar) & "</font>입니다.<br>"

 

'변수 boolVar의 하위 자료형 확인하기

Response.Write "boolVar의 자료형이 <font color=red>" &TypeName(boolVar) & "</font>입니다.<br>"

%>

</h3>

</body>

</html>

----------------------------------------------------------------------------------------------------------------

 

위 예제의 초록색 글씨를 보면 제일 앞에 ' 가 있지요?(싱글코테이션 이라고 합니다)

 

앞에 싱글코테이션(') 이 있으면 주석을 의미합니다.

 

주석이란 서버가 코드를 해석하는데 아무 영향을 주지 않고 개발자가 현재 코드의 역할 또는 기능이 무엇인지 설명을 붙여넣는것입니다.

 

일단 실행을 해보면 다음과 같은 결과가 나오게 됩니다.

 

 


 

이해가 되셨는가요?

 

이것으로 자료형 포스팅을 마치도록 하겠습니다.

 

궁금하신점은 댓글 달아주세요~^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP select case 기초 설명  (0) 2014.01.25
ASP 제어문인 IF문의 기초 설명  (0) 2014.01.25
ASP 상수 기초 설명  (0) 2014.01.25
ASP OPTION EXPLICIT 키워드 기초 설명  (0) 2014.01.25
ASP 변수에 대한 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠