소개
Java 및 기타 객체 지향 언어에서 객체는 일련의 메서드와 함께 제공되는 관련 데이터의 모음입니다. 이러한 메서드는 객체에 대해 작동하여 계산을 수행하고 때로는 객체의 데이터를 수정합니다. 여기서는 세 가지 간단하지만 중요한 Java 내장 객체 유형인 Number, String 및 Array 를 소개합니다.
Java 및 기타 객체 지향 언어에서 객체는 일련의 메서드와 함께 제공되는 관련 데이터의 모음입니다. 이러한 메서드는 객체에 대해 작동하여 계산을 수행하고 때로는 객체의 데이터를 수정합니다. 여기서는 세 가지 간단하지만 중요한 Java 내장 객체 유형인 Number, String 및 Array 를 소개합니다.
기본적으로 byte, int, double 등과 같은 기본 숫자 유형을 사용합니다. 그러나 때로는 기본 데이터 유형 대신 객체를 사용해야 합니다. Java 는 기본 데이터 유형에 대한 래퍼 클래스를 제공합니다. 이들은 Byte, Short, Long, Integer, Double, Float 등입니다. 래퍼 객체는 다시 기본 데이터 유형으로 변환될 수 있습니다. 이 프로세스를 **언박싱 (unboxing)**이라고 합니다. Number 클래스는 java.lang 패키지의 일부입니다. 패키지는 나중에 다룰 것입니다.
다음은 Number 클래스의 하위 클래스가 구현하는 몇 가지 일반적인 클래스 메서드 목록입니다.
예시:
다음 코드를 /home/labex/project/numberTest.java 파일에 작성하십시오.
public class numberTest
{
public static void main(String[] args){
Integer x = 1; // boxes int to an Integer object
x = x + 1; // unboxes the Integer to an int
System.out.println(Integer.parseInt("10")); // parse int from a string
System.out.println( "x = " + x);
}
}
출력:
다음 명령을 사용하여 numberTest.java 파일을 실행합니다.
javac /home/labex/project/numberTest.java
java numberTest
출력을 확인하십시오.
10
x = 2
String 은 객체이므로 다음과 같은 질문을 할 수 있습니다. “String 객체에 포함된 데이터는 무엇인가요?” 그리고 “String 객체에서 호출할 수 있는 메서드는 무엇인가요?” String 객체의 구성 요소는 문자입니다. 모든 문자가 문자는 아닙니다. 일부는 숫자이고, 일부는 특수 기호이며, 나머지는 다른 종류의 문자입니다. 간단하게, 우리는 이 모든 것을 문자라고 부릅니다. String 클래스에는 많은 문자열 메서드가 있지만, 그 중 몇 가지만 사용합니다. 나머지는 공식 웹사이트의 문서를 참조할 수 있습니다.
참고: String 클래스는 불변 (immutable) 이므로, 일단 생성된 String 객체는 수정할 수 없습니다. 문자열에 많은 수정을 해야 할 필요가 있다면, StringBuffer 및 StringBuilder 클래스를 사용해야 합니다.
다음은 String, StringBuffer 및 StringBuilder 클래스의 몇 가지 일반적인 메서드 목록입니다.
index 인수로 표시된, 현재 문자열 버퍼가 나타내는 시퀀스의 지정된 문자가 반환됩니다.dst로 복사됩니다.StringBuffer에 포함된 문자 시퀀스의 하위 시퀀스를 포함하는 새 String 을 반환합니다. 부분 문자열은 지정된 인덱스에서 시작하여 StringBuffer의 끝까지 확장됩니다.StringBuffer에 포함된 문자 시퀀스의 하위 시퀀스를 포함하는 새 String을 반환합니다.예시:
다음 코드를 /home/labex/project/stringTest.java 파일에 작성하십시오.
public class stringTest
{
public static void main(String[] args){
String greeting = "Hello world!";
String hello = new String("Hello !");
System.out.println("greeting is: "+ greeting);
System.out.println("hello is: "+ hello);
System.out.println("length of greeting: " + greeting.length());
System.out.println("first char of greeting: " + greeting.charAt(0));
System.out.println("index of 'e' in hello: "+ hello.indexOf('e'));
System.out.println("substring of greeting: "+ greeting.substring(6)); //substr: world
}
}
출력:
다음 명령을 사용하여 stringTest.java 파일을 실행합니다.
javac /home/labex/project/stringTest.java
java stringTest
출력을 확인하십시오.
greeting is: Hello world!
hello is: Hello !
length of greeting: 12
first char of greeting: H
index of 'e' in hello: 1
substring of greeting: world!
배열 구조는 데이터 모음을 저장하는 데 사용되지만, 배열을 단일 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신, 하나의 배열 변수 numbers를 선언하고 numbers[0], numbers[1], ..., numbers[99]를 사용하여 개별 변수를 나타냅니다. 배열의 첫 번째 요소는 인덱스 0에 있습니다.
다음은 배열이 가지고 있는 몇 가지 일반적인 메서드 목록입니다.
(–(insertion point + 1))을 반환합니다.long 배열이 서로 같은 경우 true 를 반환합니다. 두 배열은 두 배열 모두 동일한 수의 요소를 포함하고 두 배열의 모든 해당 요소 쌍이 동일한 경우 동일한 것으로 간주됩니다. 두 배열이 같으면 true 를 반환합니다. 동일한 메서드는 다른 기본 데이터 유형 (byte, short, int 등) 에서도 사용할 수 있습니다.int 값을 지정된 int 배열의 각 요소에 할당합니다. 동일한 메서드는 다른 기본 데이터 유형 (byte, short 등) 에서도 사용할 수 있습니다.byte, short, int 등) 에서도 사용할 수 있습니다.예시:
다음 코드를 /home/labex/project/arrayTest.java 파일에 작성하십시오.
public class arrayTest
{
public static void main(String[] args){
// you can use new to initialize an empty array.
String[] nameArray1 = new String[5];
// fill the empty nameArray1 items with same name "abc"
java.util.Arrays.fill(nameArray1,"abc");
// the for loop can also be used to iterate an Array
for (String name:nameArray1){
System.out.println(name);
}
// you can use some value to initialize the array.
String[] nameArray2 = {"Candy", "Fancy", "Ann", "Ella", "Bob"};
// you can get the length of the array
System.out.println("Length of nameArray2: " + nameArray2.length);
// you can get value by index
System.out.println("The last item of nameArray2 is " + nameArray2[4]);
// sort an array object
java.util.Arrays.sort(nameArray2);
System.out.println("Sorted nameArray2 by alphabet:");
for(String name:nameArray2){
System.out.println(name);
}
}
}
출력:
다음 명령을 사용하여 arrayTest.java 파일을 실행합니다.
javac /home/labex/project/arrayTest.java
java arrayTest
출력을 확인하십시오.
abc
abc
abc
abc
abc
Length of nameArray2: 5
The last item of nameArray2 is Bob
Sorted nameArray2 by alphabet:
Ann
Bob
Candy
Ella
Fancy
대부분의 작업은 숫자와 문자열과 같은 데이터를 조작하는 것이므로, Java 내장 클래스를 사용하여 작업을 수행하는 것이 쉽고 효율적입니다. 고급 사용법은 공식 문서를 참조하십시오.