언어/프로세싱

[프로세싱] 프로세싱에서 데이터 유형

Linuxpia 2024. 10. 2. 16:02
반응형

프로세싱에서 데이터 유형

프로세싱(Processing)에서의 데이터 유형은 자바(Java)와 비슷한 구조를 따릅니다. 프로세싱은 자바를 기반으로 개발되었기 때문에, 기본적으로 자바의 데이터 유형을 대부분 사용할 수 있습니다. 여기에서는 프로세싱에서 자주 사용되는 주요 데이터 유형을 설명하겠습니다.

1. 기본 데이터 유형 (Primitive Types)

프로세싱에서 가장 기본적으로 사용되는 데이터 유형은 다음과 같습니다.

1.1. int (정수형)

  • 설명: 정수를 저장하는 데이터 유형입니다.
  • 예시: int x = 100;
  • 범위: -2,147,483,648 ~ 2,147,483,647

1.2. float (부동 소수점 숫자형)

  • 설명: 소수점을 포함한 실수 값을 저장하는 데이터 유형입니다.
  • 예시: float y = 3.14;
  • 범위: 1.4E-45 ~ 3.4028235E38 (근사치)

1.3. boolean (참/거짓형)

  • 설명: 참(True) 또는 거짓(False) 값을 저장하는 논리형 데이터 유형입니다.
  • 예시: boolean isOn = true;

1.4. char (문자형)

  • 설명: 한 개의 문자를 저장하는 데이터 유형입니다. 작은따옴표(' ')로 문자를 감쌉니다.
  • 예시: char letter = 'A';

2. 객체 데이터 유형 (Object Types)

프로세싱에서는 기본 데이터 유형 외에도 객체를 다룰 수 있는 데이터 유형이 있습니다.

2.1. String (문자열)

  • 설명: 문자열 데이터를 저장하는 객체 유형입니다. 문자열은 큰 따옴표(" ")로 감쌉니다.
  • 예시: String name = "Processing";
  • 주의사항: String은 객체이므로, 객체의 메서드를 사용할 수 있습니다. 예를 들어, name.length()는 문자열의 길이를 반환합니다.

2.2. Array (배열)

  • 설명: 동일한 데이터 유형의 여러 값을 저장하는 배열입니다. 배열은 []을 사용해 선언하며, 인덱스를 통해 접근합니다.
  • 예시: int[] numbers = {1, 2, 3, 4, 5};
  • 주의사항: 배열의 크기는 고정되며, 선언한 이후에는 크기를 변경할 수 없습니다.

2.3. PImage (이미지)

  • 설명: 이미지 데이터를 저장하고 조작하는 객체 유형입니다. loadImage() 메서드를 통해 이미지를 불러와 사용할 수 있습니다.
  • 예시: PImage img = loadImage("example.jpg");

2.4. PFont (폰트)

  • 설명: 텍스트를 렌더링 할 때 사용하는 글꼴을 저장하는 객체 유형입니다. createFont() 메서드를 사용해 폰트를 생성합니다.
  • 예시: PFont font = createFont("Arial", 16);

2.5. PVector (벡터)

  • 설명: 2차원 또는 3차원 공간에서의 좌표나 속도 등을 저장하는 벡터 객체입니다.
  • 예시: PVector position = new PVector(10, 20);

3. 데이터 유형 변환

프로세싱에서는 데이터 유형 간 변환이 가능합니다. 이를 캐스팅(casting)이라고 하며, 다음과 같이 사용할 수 있습니다.

  • 정수형을 실수형으로 변환: float f = (float) 10; // 10을 10.0으로 변환
  • 실수형을 정수형으로 변환: int i = (int) 3.14; // 3.14를 3으로 변환

4. 컬러 데이터 유형 (Color)

  • 설명: 프로세싱에서 색상은 color라는 특별한 데이터 유형을 사용하여 다룹니다. color() 함수로 색상을 정의하고, 색상 관련 작업에 사용됩니다.
  • 예시: color c = color(255, 0, 0); // 빨간색

코드 실행 결과

더보기
// 데이터 유형 선언
int x = 100;               // 정수형 변수
float y = 3.14;            // 실수형 변수
boolean isOn = true;       // 논리형 변수
char letter = 'A';         // 문자형 변수
String name = "Processing"; // 문자열 객체

int[] numbers = {10, 20, 30, 40, 50}; // 정수 배열

PImage img;                // 이미지 객체
PFont font;                // 폰트 객체
PVector position;          // 벡터 객체

color c;                   // 색상 데이터 유형

void setup() {
  size(600, 400);          // 화면 크기 설정
  
  // 기본 폰트를 사용 (SansSerif 폰트)
  font = createFont("SansSerif", 24);  
  textFont(font);           // 텍스트에 폰트 적용
  
  // PImage 객체를 사용해 이미지 불러오기 (이미지가 있는 경우)
  // 실제 이미지 경로로 수정 필요
  img = loadImage("kbhSign.png"); // 프로젝트 폴더에 있는 이미지
  
  // PVector 객체로 2D 좌표 설정
  position = new PVector(300, 200);  // 초기 위치 (300, 200)
  
  // color() 함수로 색상 설정 (빨간색)
  c = color(255, 0, 0);
  
  noStroke();  // 윤곽선 제거
}

void draw() {
  background(255);  // 흰색 배경
  
  // 정수, 실수, 논리형 변수 출력
  fill(0);  // 검정색 텍스트
  text("정수형 x: " + x, 10, 30);
  text("실수형 y: " + y, 10, 60);
  text("논리형 isOn: " + isOn, 10, 90);
  text("문자형 letter: " + letter, 10, 120);
  text("문자열 name: " + name, 10, 150);
  
  // 배열 값 출력
  for (int i = 0; i < numbers.length; i++) {
    text("배열 numbers[" + i + "]: " + numbers[i], 10, 180 + i * 30);
  }
  
  // PVector를 이용한 원 그리기
  fill(c);  // 빨간색으로 채우기
  ellipse(position.x, position.y, 50, 50);  // 원 그리기
  
  // PImage가 있으면 이미지를 출력
  if (img != null) {
    image(img, width - img.width, height - img.height);  // 이미지를 오른쪽 하단에 출력
  }
}

요약

프로세싱에서 사용하는 데이터 유형은 크게 기본 데이터 유형(정수, 실수, 논리값 등)과 객체 데이터 유형(문자열, 이미지, 벡터 등)으로 나뉩니다. 이 데이터 유형을 적절히 사용하여 다양한 그래픽과 인터랙션을 구현할 수 있습니다.