블로그 이미지
'무른모'란 부드럽다라는 뜻을 가진 '무르다'라는 말과 도구, 연장을 뜻하는 '연모'라는 순 우리말의 합성어로 소프트웨어를 말합니다. seanhigher

카테고리

분류 전체보기 (161)
Blog srart (16)
Dev Center (94)
Real Life (13)
Mac life (21)
Naver life (17)
Total659,292
Today1
Yesterday53

'자료형'에 해당되는 글 2건

  1. 2010.07.02 특별한 자료형 'char', & ASCII code
  2. 2010.06.24 프로그래밍의 기본은 자료형!
자바에서의 자료들은 각 상황에 맞게 자동으로 변환된다는 프로모션의 특징을 가지고 있다. 그중에서도 'char' 의 형태는 더욱 특별하다. 자료를 나타낼 수 있는 형태가 무려 세가지에 달하기 때문!! 각 상황에 맞게 사용하지 않는다면 원하지 않는 결과를 얻을 수도 있다. 그런일이 그렇게 많지는 않지만....


'char' 형태로 나타내는 방법.
'char' 의 형태로 나타낼 수 있는 방법은, 유니코드, ASCII 코드, 문자의 세가지 방법이다. 가장 쉽게 사용할 수 있는 방법으로 다음과 같이 한 문자를 표현할 때 사용하게 된다.

char c = 'a';

중요한것은 꼭 홑 따옴표로 한 문자를 감싸 주어야 한다는 것이다. 만일 따옴표를 표시하지 않는다면 문자 'a' 대신에 'a'를 나타내는 아스키코드인 97이 변수 c 에 대입이 될 것이다. 하지만, 출력을 할 때 그 형태를 문자의 형태로 나타낸다면 아무런 문제 없이 'a' 라는 문자를 출력하게 될 것이다. 좀더 다른 이야기를 하자면, char 형은 하나의 문자로 나타낼 수도, 아스키코드내의 숫자의 형태로도 나타내는 것이 가능하다. 저장될때는 모두 문자의 형태를 갖지만, 출력하는 상황에 따라 그렇게 변환하는 것이 가능한 것이다.

public class Char {
    public static void main(String[] args) {
        char ch1 = '\u0061';
        char ch2 = 97;
        char ch3 = 'a';
        system.out.println("unicode : " + ch1);
        system.out.println("ASCII : " + ch2);
        system.out.println("character : " + ch3);
    }
}

위의 프로그램을 실행하면 다음과 같은 결과를 얻게 된다.

unicode : a
ASCII : a
character : a

똑같은 a 를 출력하는 것이지만, 다양한 방법으로 표현이 가능하다는 것이다.

아스키 코드를 사용하는 이유!
'char' 의 자료형은 아스키코드의 형태를 나타낼 수 있다. 하지만, 아스키코드나 유니코드같은 형태가 왜 필요한 것일까? 이것은 컴퓨터가 이진수 형태의 모습을 가지고 있기 때문이다. 우리가 이해할 수 있는 언어를 그대로 사용한다면 컴퓨터는 이해를 할 수 없는 것이다. 이것을 컴퓨터가 이해하기 위한 하나의 방법으로 10진수의 아스키코드나 16진수의 유니코드와 같은 형식이 필요한 것이다. 마치 우리가 영어를 이해하기 위해서 'I' 라는 단어가 '나' 를 표현하는 말이라는 것을 알아야 이해할 수 있는 것처럼 말이다.


ASCII code table
아스키코드는 컴퓨터와 의사소통의 기능 외에도, 키보드로 표현할 수 없는 표현들을 컴퓨터에 쉽게 전달해 줄 수 있는 방법이 되기도 한다. 키보드로 엔터를 친것과 같은 효과나, 탭키를 누른듯한 효과등을 코드값으로 대입해 놓음으로써 어느 기종에서나 동일하게 입력이 가능하게 되는 것이다.

 0  NULL  20  SC4  40  (  60  <  80  P  100  d  120  x
 1  SOH  21  NAK  41  )  61  =  81  Q  101  e  121  y
 2  STX  22  SYN  42  *  62  >  82  R  102  f  122  z
 3  ETX  23  ETB  43  +  63  ?  83  S  103  g  123  {
 4  EOT  24  CAN  44  '  64  @  84  T  104  h  124  |
 5  ENQ  25  EM  45  -  65  A  85  U  105  i  125  }
 6  ACK  26  SUB  46  .  66  B  86  V  106  j  126  ~
 7  BEL  27  ESC  47  /  67  C  87  W  107  k  127  DEL
 8  BS  28  FS  48  0  68  D  88  X  108  l    
 9  HT  29  GS  49  1  69  E  89  Y  109  m    
 10  LF  30  RS  50  2  70  F  90  Z  110  n    
 11  VT  31  US  51  3  71  G  91  [  111  o    
 12  FF  32  SP  52  4  72  H  92  \  112  p    
 13  CR  33  !  53  5  73  I  93  ]  113  q    
 14  SO  34  "  54  6  74  J  94  ^  114  r    
 15  SI  35  #  55  7  75  K  95  _  115  s    
 16  DLE  36  $  56  8  76  L  96  .  116  t    
 17  DC1  37  %  57  9  77  M  97  a  117  u    
 18  SC2  38  &  58  :  78  N  98  b  118  v    
 19  SC3  39  '  59  ;  79  O  99  c  119  w    
표1. 아스키 코드표

'char' 의 형태는 기본적으로 문자의 형태로 기억되기 때문에, 숫자로 형변환하여 사용하기 위해서는 숫자 '0' 을 나타내는 -48 을 계산해야 원하는 숫자의 값을 얻을 수 있다. 이 역시 한자리 숫자만 가능하다는 것을 기억해야 한다.
Posted by seanhigher

댓글을 달아 주세요

각각의 프로그램마다 자료형을 가지고 있다. 대부분 비슷한 형태의 자료형을 가지고 있지만, 그 자료형이 어떤 의미를 가지고 있는지 알고 있다는 것은 자신의 프로그래밍 실력을 한층 더 업그레이드 시키는 계기가 될 것이다.


자바에서의 자료형.
프로그래밍에서 사용되는 데이터는 크게 상수와 변수의 두가지 영역으로 나눌 수 있다. 상수는 고유한 데이터 값을 가지고 있으면서 그 값이 변하지 않는 고정적인 데이터 이다. 그와 반대로 변수는 상수로 구분되는 데이터를 저장하는 공간이라고 할 수 있다. 변수 안에는 어떠한 값이 들어가게 될지는 정해져있지 않은 것이다. 그리고 객체지향의 특징이라고 할 수 있는 자료형이 있는데 이것은 변수보다는 더욱더 확장된 영역이라고 할 수 있다. 변수가 자바에 의해 정해진 틀로 생성되는 공간이라고 하면, 자료형은 사용자가 그 틀을 직접 만들어서 원하는 모양과 크기의 형태로 자료를 담을 수 있는 공간을 만들어 내게 된다.


기본자료형.
자바의 기본 자료형으로는 논리형, 정수형과 실수형, 그리고 클래스형이 있다. 논리형은 'boolean' 의 형태로 선언될 수 있으며 'true', 'false' 의 두가지 형태의 값만 가질 수 있다. 또 다른 자료형과는 다르게 형변환이 불가능하다. 정수형과 실수형은 수를 나타내는대 나타낼 수 있는 범위에 따라 그 사용이 달라지게 된다. 정수형 자료형은 byte, short, char, int, long 의 다섯가지로 나타낼 수 있으며 그 가용범위는 다음과 같다.

byte : 1byte (-128 ~ 127)
short : 2byte (-32768 ~ 32767)
char : 2byte (0 ~ 65535)
int : 4byte (-2147483648 ~ 2147483647)
long : 8byte (-922경 ~ 922경)

이중 'char' 형은 하나의 문자를 나타내는 문자형으로도 사용하는 것이 가능하다. 정수형 자료형은 소수점이 없는 정수형 데이터를 나타내지만, 실수형 자료형은 소수점까지 나타내는 것이 가능하기 때문에 좀더 정밀한 자료값이 필요할 때 사용하게 된다. 실수형 자료형은로는 float, double 의 두가지로 나타낼 수 있으며 각각 4byte, 8byte 의 자료를 나타낸다. 마지막으로 클래스형인 String 자료형이 있다. 이 자료형은 기본 자료형이라기 보다는 문자열을 여러개 이어놓은 것과 같다. 하지만, 문자열 데이터 같은 경우는 많이 사용될 가능성이 있기 때문에 자료형으로 나타낸다. 저장하고자 하는 자료를 따옴표로 묶어 주어야한다.

Posted by seanhigher

댓글을 달아 주세요

최근에 달린 댓글

글 보관함