MultiPixelPackedSampleModel (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## java.awt.image
클래스 MultiPixelPackedSampleModel

    java.lang.Object
      java.awt.image.SampleModel
          java.awt.image.MultiPixelPackedSampleModel

    public class MultiPixelPackedSampleModel

extends SampleModel

`MultiPixelPackedSampleModel` 클래스는, 단일 밴드화 된 이미지를 표현해, 복수의 단일 샘플 픽셀을 1 개의 데이터 요소에 팩 할 수 있습니다. 픽셀은, 복수의 데이터 요소에 걸칠 수 없습니다. 데이터형은, DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 입니다. 각 픽셀은 2 말하고 나무승의 비트수가 아니면 안되어, 2 말하고 나무승개의 픽셀이, 1 개의 데이터 요소에 딱 들어가지 않으면 안됩니다. 픽셀 비트 보폭은, 1 픽셀 근처의 비트수와 같습니다. 주사선 보폭은 데이터 요소내에 있어, 마지막 몇개의 데이터 요소가 미사용의 픽셀로 패딩 됩니다. 데이터 비트 오프셋(offset)는,`DataBuffer` 의 선두로부터 최초의 픽셀까지의 비트 단위의 오프셋(offset)이며, 픽셀 비트 보폭의 배수입니다.

다음의 코드예는,`DataBuffer` 의 `data` 로부터 픽셀 `x, y` 의 비트를 추출해,`dataType` 형의 데이터 요소에 픽셀 데이터를 포함합니다.

          int dataElementSize = DataBuffer.getDataTypeSize(dataType);
          int bitnum = dataBitOffset + x*pixelBitStride;
          int element = data.getElem(y*scanlineStride + bitnum/dataElementSize);
          int shift = dataElementSize - (bitnum & (dataElementSize-1))
                      - pixelBitStride;
          int pixel = (element >> shift) & ((1 << pixelBitStride) - 1);

필드의 개요

클래스 java.awt.image. SampleModel 로부터 상속된 필드
`dataType , height , numBands , width`

생성자 의 개요
`MultiPixelPackedSampleModel (int dataType, int w, int h, int numberOfBits)` 지정된 데이터형, 폭, 높이, 및 1 픽셀 근처의 비트수를 가지는 `MultiPixelPackedSampleModel` 를 구축합니다.
`MultiPixelPackedSampleModel (int dataType, int w, int h, int numberOfBits, int scanlineStride, int dataBitOffset)` 지정된 데이터형, 폭, 높이, 1 픽셀 근처의 비트수, 주사선 보폭, 및 데이터 비트 오프셋(offset)을 가지는 `MultiPixelPackedSampleModel` 를 구축합니다.

메소드의 개요
`SampleModel` | `createCompatibleSampleModel (int w, int h)` 지정된 폭과 높이를 가지는 새로운 `MultiPixelPackedSampleModel` 를 구축합니다.
`DataBuffer` | `createDataBuffer ()` 이 `MultiPixelPackedSampleModel` 에 대응하는 `DataBuffer` 를 구축합니다.
`SampleModel` | `createSubsetSampleModel (int[] bands)` 이 `MultiPixelPackedSampleModel` 의 밴드의 부분집합을 가지는 새로운 `MultiPixelPackedSampleModel` 를 작성합니다.
`boolean` | `equals (Object o)` 이 객체와 「등가」가 되는 객체가 있을지 어떨지를 나타냅니다.
`int` | `getBitOffset (int x)` 주사선의 `x` 번째의 픽셀로서 포함되고 있는 데이터 요소의 오프셋(offset)를 비트수로 돌려줍니다.
`int` | `getDataBitOffset ()` 데이터 비트 오프셋(offset)를 비트수로 돌려줍니다.
`Object` | `getDataElements (int x, int y, Object obj, DataBuffer data)` transferType 형의 프리미티브(primitive) 배열내의 1 개의 픽셀의 데이터를 돌려줍니다.
`int` | `getNumDataElements ()` `getDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)` 메소드 및 `setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)` 메소드를 사용해 1 픽셀 전송 하는데 필요한 데이터 요소의 수를 돌려줍니다.
`int` | `getOffset (int x, int y)` 픽셀 (x, y)의 데이터 배열 요소에서의 오프셋(offset)를 돌려줍니다.
`int[]` | `getPixel (int x, int y, int[] iArray, DataBuffer data)` `int` 배열의 선두 요소의, 지정된 1 개의 밴드의 픽셀을 돌려줍니다.
`int` | `getPixelBitStride ()` 픽셀 비트 보폭을 비트수로 돌려줍니다.
`int` | `getSample (int x, int y, int b, DataBuffer data)` (x, y)에 위치하는 픽셀의 지정된 밴드의 샘플을 `int` 로서 돌려줍니다.
`int[]` | `getSampleSize ()` 모든 밴드의 샘플 근처의 비트수를 돌려줍니다.
`int` | `getSampleSize (int band)` 지정된 밴드의 샘플 근처의 비트수를 돌려줍니다.
`int` | `getScanlineStride ()` 주사선 보폭을 돌려줍니다.
`int` | `getTransferType ()` `getDataElements` 메소드와 `setDataElements` 메소드에 의해 픽셀을 전송 하기 위해서 사용하는 TransferType 를 돌려줍니다.
`int` | `hashCode ()` 객체의 해시 코드값를 돌려줍니다.
`void` | `setDataElements (int x, int y, Object obj, DataBuffer data)` 지정된 `DataBuffer` 의 1 개의 픽셀의 데이터를, TransferType 형의 프리미티브(primitive) 배열로부터 설정합니다.
`void` | `setPixel (int x, int y, int[] iArray, DataBuffer data)` `int` 배열을 입력으로 해,`DataBuffer` 의 픽셀을 설정합니다.
`void` | `setSample (int x, int y, int b, int s, DataBuffer data)` `int` 를 입력으로 해,`DataBuffer` 의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드의 샘플을 설정합니다.

클래스 java.awt.image. SampleModel 로부터 상속된 메소드
`getDataElements , getDataType , getHeight , getNumBands , getPixel , getPixel , getPixels , getPixels , getPixels , getSampleDouble , getSampleFloat , getSamples , getSamples , getSamples , getWidth , setDataElements , setPixel , setPixel , setPixels , setPixels , setPixels , setSample , setSample , setSamples , setSamples , setSamples`

클래스 java.lang. Object 로부터 상속된 메소드
`clone , finalize , getClass , notify , notifyAll , toString , wait , wait , wait`

생성자 의 상세

### MultiPixelPackedSampleModel

    public MultiPixelPackedSampleModel(int dataType,
                                       int w,
                                       int h,
                                       int numberOfBits)

  지정된 데이터형, 폭, 높이, 및 1 픽셀 근처의 비트수를 가지는 `MultiPixelPackedSampleModel` 를 구축합니다.

  파라미터:
    `dataType` - 샘플 포함용의 데이터 형식
    `w` - 기술되는 이미지 데이터의 영역의 폭 (픽셀 단위)
    `h` - 기술되는 이미지 데이터의 영역의 높이 (픽셀 단위)
    `numberOfBits` - 픽셀마다의 비트수
  예외:
    `IllegalArgumentException` - `dataType` 가 `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, `DataBuffer.TYPE_INT` 의 머지않아도 아닌 경우

### MultiPixelPackedSampleModel

    public MultiPixelPackedSampleModel(int dataType,
                                       int w,
                                       int h,
                                       int numberOfBits,
                                       int scanlineStride,
                                       int dataBitOffset)

  지정된 데이터형, 폭, 높이, 1 픽셀 근처의 비트수, 주사선 보폭, 및 데이터 비트 오프셋(offset)을 가지는 `MultiPixelPackedSampleModel` 를 구축합니다.

  파라미터:
    `dataType` - 샘플 포함용의 데이터 형식
    `w` - 기술되는 이미지 데이터의 영역의 폭 (픽셀 단위)
    `h` - 기술되는 이미지 데이터의 영역의 높이 (픽셀 단위)
    `numberOfBits` - 픽셀마다의 비트수
    `scanlineStride` - 이미지 데이터의 주사선 보폭
    `dataBitOffset` - 기술되고 있는 이미지 데이터 영역의 데이터 비트 오프셋(offset)
  예외:
    `RasterFormatException` - 1 픽셀 근처의 비트수가 2 말하고 나무승이 아닌 경우, 혹은 2 말하고 나무승개의 픽셀이 1 데이터 요소에 들어가지 않는 경우
    `IllegalArgumentException` - `w` 또는 `h` 가 0 이하인 경우
    `IllegalArgumentException` - `dataType` 가 `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, `DataBuffer.TYPE_INT` 의 머지않아도 아닌 경우

메소드의 상세

### createCompatibleSampleModel

    public SampleModel  createCompatibleSampleModel(int w,
                                                   int h)

  지정된 폭과 높이를 가지는 새로운 `MultiPixelPackedSampleModel` 를 구축합니다. 새로운 `MultiPixelPackedSampleModel` 의 스토리지 데이터형과 1 픽셀 근처의 비트수는, 이 `MultiPixelPackedSampleModel` 와 같습니다.

  정의:
    클래스 `SampleModel` 내의 `createCompatibleSampleModel`
  파라미터:
    `w` - 지정된 폭
    `h` - 지정된 높이
  반환값:
    지정된 폭과 높이를 가져, 이 `MultiPixelPackedSampleModel` 와 스토리지 데이터형 및 1 픽셀 근처의 비트수가 같은 `SampleModel`
  예외:
    `IllegalArgumentException` - `w` 또는 `h` 가 0 이하인 경우

### createDataBuffer

    public DataBuffer  createDataBuffer()

  이 `MultiPixelPackedSampleModel` 에 대응하는 `DataBuffer` 를 구축합니다. `DataBuffer` 객체의 데이터형과 사이즈는, 이 `MultiPixelPackedSampleModel` 와 같습니다. `DataBuffer` 는 1 개의 뱅크를 가집니다.

  정의:
    클래스 `SampleModel` 내의 `createDataBuffer`
  반환값:
    이 `MultiPixelPackedSampleModel` 와 데이터형 및 사이즈가 같은 `DataBuffer`

### getNumDataElements

    public int getNumDataElements()

  `getDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)` 메소드 및 `setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)` 메소드를 사용해 1 픽셀 전송 하는데 필요한 데이터 요소의 수를 돌려줍니다. `MultiPixelPackedSampleModel` 의 경우는 1 이 됩니다.

  정의:
    클래스 `SampleModel` 내의 `getNumDataElements`
  반환값:
    데이터 요소수
  관련 항목:
    `SampleModel.getDataElements(int, int, Object, DataBuffer)` , `SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)` , `SampleModel.setDataElements(int, int, Object, DataBuffer)` , `SampleModel.setDataElements(int, int, int, int, Object, DataBuffer)` , `SampleModel.getTransferType()`

### getSampleSize

    public int[] getSampleSize()

  모든 밴드의 샘플 근처의 비트수를 돌려줍니다.

  정의:
    클래스 `SampleModel` 내의 `getSampleSize`
  반환값:
    샘플마다의 비트수

### getSampleSize

    public int getSampleSize(int band)

  지정된 밴드의 샘플 근처의 비트수를 돌려줍니다.

  정의:
    클래스 `SampleModel` 내의 `getSampleSize`
  파라미터:
    `band` - 지정된 밴드
  반환값:
    지정된 밴드의 샘플 근처의 비트수

### getOffset

    public int getOffset(int x,
                         int y)

  픽셀 (x, y)의 데이터 배열 요소에서의 오프셋(offset)를 돌려줍니다.

  파라미터:
    `x` - 지정된 픽셀의 X 좌표
    `y` - 지정된 픽셀의 Y 좌표
  반환값:
    지정된 픽셀의 오프셋(offset)

### getBitOffset

    public int getBitOffset(int x)

  주사선의 `x` 번째의 픽셀로서 포함되고 있는 데이터 요소의 오프셋(offset)를 비트수로 돌려줍니다. 이 오프셋(offset)는, 모든 주사선으로 같습니다.

  파라미터:
    `x` - 지정된 픽셀
  반환값:
    지정된 픽셀의 비트 오프셋(offset)

### getScanlineStride

    public int getScanlineStride()

  주사선 보폭을 돌려줍니다.

  반환값:
    이 `MultiPixelPackedSampleModel` 의 주사선 보폭

### getPixelBitStride

    public int getPixelBitStride()

  픽셀 비트 보폭을 비트수로 돌려줍니다. 이 값은, 1 픽셀 근처의 비트수와 같습니다.

  반환값:
    이 `MultiPixelPackedSampleModel` 의 `pixelBitStride`

### getDataBitOffset

    public int getDataBitOffset()

  데이터 비트 오프셋(offset)를 비트수로 돌려줍니다.

  반환값:
    이 `MultiPixelPackedSampleModel` 의 `dataBitOffset`

### getTransferType

    public int getTransferType()

  `getDataElements` 메소드와 `setDataElements` 메소드에 의해 픽셀을 전송 하기 위해서 사용하는 TransferType 를 돌려줍니다. TransferType 는, 스토리지 데이터형과 같아도, 차이가 나도 괜찮습니다. TransferType 는, DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 의 어느 쪽인가에 됩니다.

  오버라이드(override):
    클래스 `SampleModel` 내의 `getTransferType`
  반환값:
    transferType
  관련 항목:
    `SampleModel.getDataElements(int, int, Object, DataBuffer)` , `SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)` , `SampleModel.setDataElements(int, int, Object, DataBuffer)` , `SampleModel.setDataElements(int, int, int, int, Object, DataBuffer)` , `SampleModel.getNumDataElements()` , `DataBuffer`

### createSubsetSampleModel

    public SampleModel  createSubsetSampleModel(int[] bands)

  이 `MultiPixelPackedSampleModel` 의 밴드의 부분집합을 가지는 새로운 `MultiPixelPackedSampleModel` 를 작성합니다. `MultiPixelPackedSampleModel` 는 밴드를 1 개 밖에 가지지 않기 때문에, bands 인수는 길이 1 으로 제로 번째의 밴드를 나타낼 필요가 있습니다.

  정의:
    클래스 `SampleModel` 내의 `createSubsetSampleModel`
  파라미터:
    `bands` - 지정된 밴드
  반환값:
    이 `MultiPixelPackedSampleModel` 의 밴드의 부분집합을 가진다 새로운 `SampleModel`
  예외:
    `RasterFormatException` - 요구된 밴드수가 1 이 아닌 경우
    `IllegalArgumentException` - `w` 또는 `h` 가 0 이하인 경우

### getSample

    public int getSample(int x,
                         int y,
                         int b,
                         DataBuffer  data)

  (x, y)에 위치하는 픽셀의 지정된 밴드의 샘플을 `int` 로서 돌려줍니다. 좌표가 경계내에 없는 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  정의:
    클래스 `SampleModel` 내의 `getSample`
  파라미터:
    `x` - 지정된 픽셀의 X 좌표
    `y` - 지정된 픽셀의 Y 좌표
    `b` - 반환되는 밴드 (0 으로 보여진다)
    `data` - 이미지 데이터를 포함한다 `DataBuffer`
  반환값:
    지정된 픽셀의 샘플이 포함되고 있는, 지정된 밴드
  예외:
    `ArrayIndexOutOfBoundException` - 지정했다 좌표가 범위외에 있는 경우
  관련 항목:
    `setSample(int, int, int, int, DataBuffer)`

### setSample

    public void setSample(int x,
                          int y,
                          int b,
                          int s,
                          DataBuffer  data)

  `int` 를 입력으로 해,`DataBuffer` 의 것 (x, y)에 위치하는 픽셀의, 지정된 밴드의 샘플을 설정합니다. 좌표가 경계내에 없는 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  정의:
    클래스 `SampleModel` 내의 `setSample`
  파라미터:
    `x` - 지정된 픽셀의 X 좌표
    `y` - 지정된 픽셀의 Y 좌표
    `b` - 반환되는 밴드 (0 으로 보여진다)
    `s` - `int` 의 입력 샘플
    `data` - 이미지 데이터의 포함처의 `DataBuffer`
  예외:
    `ArrayIndexOutOfBoundsException` - 좌표가 경계내에 없는 경우
  관련 항목:
    `getSample(int, int, int, DataBuffer)`

### getDataElements

    public Object  getDataElements(int x,
                                  int y,
                                  Object  obj,
                                  DataBuffer  data)

  transferType 형의 프리미티브(primitive) 배열내의 1 개의 픽셀의 데이터를 돌려줍니다. `MultiPixelPackedSampleModel` 의 경우, 배열은 1 개의 요소를 가져, 형태는 1 개의 픽셀을 포함할 수 있는 DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 가운데 최소의 것이 됩니다. 일반적으로,`obj` 는 `null` 로 건네받으므로,`Object` 는 자동적으로 작성되어 올바른 기본 데이터형이 됩니다.

  다음의 코드는, 스토리지 레이아웃이 `MultiPixelPackedSampleModel` `mppsm1` 에 의해 기술되고 있는 `DataBuffer` `db1` 로부터, 스토리지 레이아웃이 `MultiPixelPackedSampleModel` `mppsm2` 에 의해 기술되고 있는 `DataBuffer` `db2` 에, 1 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,`getPixel` 또는 `setPixel` 를 사용하는 방법보다 일반적으로 효율적입니다.

                   MultiPixelPackedSampleModel mppsm1, mppsm2;
                   DataBufferInt db1, db2;
                   mppsm2.setDataElements(x, y, mppsm1.getDataElements(x, y, null,
                                    db1), db2);

  2 개의 `SampleModel` 의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아, transferType 도 같은 경우는, 2 조의 `DataBuffer` 과 `SampleModel` 페어간의 전송을 실시하려면 ,`getDataElements` 또는 `setDataElements` 를 사용하는 것이 적절합니다.

  `obj` 가 `null` 가 아닌 경우는, transferType 형의 프리미티브(primitive) 배열이 됩니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. 좌표가 경계내에 없는 경우나,`obj` 가 `null` 가 아니고, 픽셀 데이터를 포함하기 위해서 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  정의:
    클래스 `SampleModel` 내의 `getDataElements`
  파라미터:
    `x` - 지정된 픽셀의 X 좌표
    `y` - 지정된 픽셀의 Y 좌표
    `obj` - 픽셀 데이터를 돌려주는 프리미티브(primitive) 배열, 또는 `null`
    `data` - 이미지 데이터를 포함하는 `DataBuffer`
  반환값:
    지정된 픽셀의 데이터가 포함되고 있다 `Object`
  예외:
    `ClassCastException` - `obj` 가 TransferType 형의 프리미티브(primitive) 배열이 아니고,`null` 도 아닌 경우
    `ArrayIndexOutOfBoundsException` - 좌표가 경계내에 없는 경우. 또는 `obj` 가 `null` 가 아닌가 픽셀 데이터를 보관 유지하는데 충분한 크기가 아닌 경우
  관련 항목:
    `setDataElements(int, int, Object, DataBuffer)`

### getPixel

    public int[] getPixel(int x,
                          int y,
                          int[] iArray,
                          DataBuffer  data)

  `int` 배열의 선두 요소의, 지정된 1 개의 밴드의 픽셀을 돌려줍니다. 좌표가 경계내에 없는 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  오버라이드(override):
    클래스 `SampleModel` 내의 `getPixel`
  파라미터:
    `x` - 지정된 픽셀의 X 좌표
    `y` - 지정된 픽셀의 Y 좌표
    `iArray` - 반환되는 픽셀이 포함되는 배열, 또는 `null`
    `data` - 이미지 데이터의 포함처의 `DataBuffer`
  반환값:
    지정된 픽셀이 포함되고 있는 배열
  예외:
    `ArrayIndexOutOfBoundsException` - 좌표가 경계내에 없는 경우
  관련 항목:
    `setPixel(int, int, int[], DataBuffer)`

### setDataElements

    public void setDataElements(int x,
                                int y,
                                Object  obj,
                                DataBuffer  data)

  지정된 `DataBuffer` 의 1 개의 픽셀의 데이터를, TransferType 형의 프리미티브(primitive) 배열로부터 설정합니다. `MultiPixelPackedSampleModel` 의 경우는, 배열의 선두 요소만이 유효한 데이터를 보관 유지해, 형태는 1 개의 픽셀을 보관 유지할 수 있는 DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, 또는 DataBuffer.TYPE_INT 가운데 최소의 것이 됩니다.

  다음의 코드는, 스토리지 레이아웃이 `MultiPixelPackedSampleModel` `mppsm1` 에 의해 기술되고 있는 `DataBuffer` `db1` 로부터, 스토리지 레이아웃이 `MultiPixelPackedSampleModel` `mppsm2` 에 의해 기술되고 있는 `DataBuffer` `db2` 에, 1 픽셀의 데이터를 전송 하는 예를 나타냅니다. 이 전송 방법은,`getPixel` 또는 `setPixel` 를 사용하는 방법보다 일반적으로 효율적입니다.

                   MultiPixelPackedSampleModel mppsm1, mppsm2;
                   DataBufferInt db1, db2;
                   mppsm2.setDataElements(x, y, mppsm1.getDataElements(x, y, null,
                                    db1), db2);

  2 개의 `SampleModel` 객체의 밴드수가 같아, 대응하는 밴드의 1 샘플 근처의 비트수가 같아, TransferType 도 같은 경우는, 2 조의 `DataBuffer` 과 `SampleModel` 페어간에 전송을 실시하려면 ,`getDataElements` 또는 `setDataElements` 를 사용하는 것이 적절합니다.

  `obj` 는, TransferType 형의 프리미티브(primitive) 배열이 됩니다. 그렇지 않은 경우는,`ClassCastException` 가 throw 됩니다. 좌표가 경계내에 없는 경우나,`obj` 가 픽셀 데이터를 포함하기 위해서 충분한 크기가 아닌 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  정의:
    클래스 `SampleModel` 내의 `setDataElements`
  파라미터:
    `x` - 픽셀 위치의 X 좌표
    `y` - 픽셀 위치의 Y 좌표
    `obj` - 픽셀 데이터를 포함하는 프리미티브(primitive) 배열
    `data` - 이미지 데이터를 포함하는 `DataBuffer`
  관련 항목:
    `getDataElements(int, int, Object, DataBuffer)`

### setPixel

    public void setPixel(int x,
                         int y,
                         int[] iArray,
                         DataBuffer  data)

  `int` 배열을 입력으로 해,`DataBuffer` 의 픽셀을 설정합니다. 좌표가 경계내에 없는 경우는,`ArrayIndexOutOfBoundsException` 가 throw 됩니다.

  오버라이드(override):
    클래스 `SampleModel` 내의 `setPixel`
  파라미터:
    `x` - 픽셀 위치의 X 좌표
    `y` - 픽셀 위치의 Y 좌표
    `iArray` - `int` 배열의 입력 픽셀
    `data` - 이미지 데이터를 포함하는 `DataBuffer`
  관련 항목:
    `getPixel(int, int, int[], DataBuffer)`

### equals

    public boolean equals(Object  o)

  클래스 `Object` 의 기술:
  이 객체와 「등가」가 되는 객체가 있을지 어떨지를 나타냅니다.

  `equals` 메소드는, null 이외의 객체 참조에서의 동치 관계를 구현합니다.

  - 반사성 (reflexive) :null 이외의 참조치 `x` 에 대해,`x.equals(x)` 는 `true` 를 돌려준다
  - 대칭성 (symmetric) :null 이외의 참조치 `x` 와 `y` 에 대해,`x.equals(y)` 는,`y.equals(x)` 가 `true` 를 돌려주는 경우만 `true` 를 돌려준다
  - 추이성 (transitive) :null 이외의 참조치 `x`,`y`,`z` 에 대해,`x.equals(y)` 가 `true` 를 돌려주어, 한편 `y.equals(z)` 가 `true` 를 돌려주는 경우에,`x.equals(z)` 는 `true` 를 돌려준다
  - 무결성 (consistent) :null 이외의 참조치 `x` 및 `y` 에 대해,`x.equals(y)` 를 복수 호출하면(자) 항상 `true` 를 돌려주는지, 항상 `false` 를 돌려준다. 이것은, 객체에 대한 `equals` 에 의한 비교로 사용된 정보가 변경되어 있지 않은 것이 조건이다
  - null 가 아닌 임의의 참조치 `x` 에 대해,`x.equals(null)` 는 `false` 를 돌려준다

  `Object` 클래스의 `equals` 메소드는, 가장 비교하기 쉬운 객체의 동치 관계를 구현합니다. 즉, null 이외의 참조치 `x` 와 `y` 에 대해, 이 메소드는 `x` 와 `y` 가 같은 객체를 참조하는 (`x == y` 가 `true`) 경우에만 `true` 를 돌려줍니다.

  일반적으로, 이 메소드를 오버라이드(override) 하는 경우는,`hashCode` 메소드를 항상 오버라이드(override) 해, 「등가인 객체는 등가인 해시 코드를 보관 유지할 필요가 있다」라고 하는 `hashCode` 메소드의 범용 규약에 따를 필요가 있는 것에 유의해 주세요.

  오버라이드(override):
    클래스 `Object` 내의 `equals`
  파라미터:
    `o` - 비교 대상의 참조 객체
  반환값:
    obj 인수로 지정된 객체와 이 객체가 동일한 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `Object.hashCode()` , `Hashtable`

### hashCode

    public int hashCode()

  클래스 `Object` 의 기술:
  객체의 해시 코드값를 돌려줍니다. 이 메소드는,`java.util.Hashtable` 에 의해 제공되는 것 같은 해시 테이블로 사용하기 위해서 준비되어 있습니다.

  `hashCode` 메소드의 일반적인 규칙을 다음에 나타냅니다.

  - Java 어플리케이션의 실행중에 같은 객체상에서 여러 차례 불려 가는 경우는 반드시, 이 객체에 대한 `equals` 에 의한 비교로 사용된 정보가 변경되어 있지 않으면,`hashCode` 메소드는 같은 정수를 일관해 돌려주지 않으면 안 된다. 다만, 이 정수는 같은 어플리케이션의 실행 마다 같은 필요는 없다
  - `equals(Object)` 메소드로 2 개의 객체가 등가로 여겨졌을 경우, 어느 쪽의 객체로 `hashCode` 메소드를 호출해도 결과는 같은 정수치가 되어야 하다
  - `Object.equals(java.lang.Object)` 메소드로 2 개의 객체가 등가가 아니다고 여겨졌을 경우는, 이러한 객체에 대해서 `hashCode` 메소드를 호출했을 때에, 결과가 다른 정수치가 되지 않아도 상관없다. 그러나, 동일하지 않은 객체에 대해서는 다른 정수치가 생성되도록 하면, 해시 테이블의 퍼포먼스를 올릴 수가 있다

  할 수 있는 한,`Object` 클래스에서 정의되는 hashCode 메소드는, 다른 객체에 대해서는 다른 정수치를 돌려줍니다. 일반적으로, 이것은 객체의 내부 주소를 정수치로 변환하는 형태로 구현됩니다만, 그러한 구현 테크닉은 JavaTM 프로그램 언어에서는 불필요합니다.

  오버라이드(override):
    클래스 `Object` 내의 `hashCode`
  반환값:
    이 객체의 해시 코드값
  관련 항목:
    `Object.equals(java.lang.Object)` , `Hashtable`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.