1 . 패키지 (package)
📍관련 있는 클래스들을 하나로 묶는 것
종류
- 내장 패키지 (자바 기본 api)
- 사용자 정의 패키지
왜 패키지가 필요할까?
- 패키지를 이용하면 서로 관련된 클래스들을 하나의 단위로 모을 수 있다
- 패키지가 중요한 이유 중 하나 "이름 공간(name space)": 동일한 이름의 클래스가 각 다른 패키지 속할 수 있어 이름 충돌 방지
- 패키지를 이용한 세밀한 접근 제어 구현, 패키지 안의 클래스들은 패키지 안에서만 사용 가능
패키지의 사용
- 완전한 이름으로 참조한다.
graphics.Rect rect = new graphics.Rect();
- 패키지 안에서 우리가 원하는 클래스만을 포함한다
import graphics.Rect;
Rect rect = new Rect();
- 패키지 안의 모든 클래스를 포함한다.
import graphics.* // * 패키지 내의 모든 클래스 포함
Rect rect= new Rect();
계층 구조의 패키지 포함
- 예를 들어 java.awt.*를 포함 시키면 java.awt 아래에 있는 패키지 즉 java.awt.font와 같은 패키지가 자동으로 포함될 거라소 생각하기 쉽다.
- 그러나 java.awt.font패키지는 자동으로 포함되지 않으며 별도로 써주야한다
import java.awt.*;
import java.awt.font.*;
자바 API패키지
Object Class
- java.lang 패키지에 들어 있다
- 자바 클래스 계층 구조에서 맨위에 위치하는 클래스
- getClass()
- toString()
- equals()
2. 랩퍼 클래스(Wrapper Class)
📍정수와 같은 기초 자료형도 객체 포장하고 싶은 경우
int i = 100;
Integer obj = new Integer(i);
랩퍼 클래스 메소드의 예
⭐️ 문자열 "100"을 정수 100으로 변환하려면
int i = Integer.parseInt("100");
오토박싱
📍랩퍼 객체와 기초 자료형 사이의 변환을 자동으로 해주는 기능 (형식을 갖추지 않고 바로 변환 가능)
Integer obj;
obj = 10; //정수 >> integer객체
System.out.println(obj + 1); // Integer객체 >> 정수
3. String 클래스 (내용 변경 불가 클래스)
- 문자열을 위한 클래스
String s1 = "Java"; //많이 사용 되는 방법
String s2 = "Java";
String s3 = new String("Java"); // 원칙이긴 함
String s4 = new String("Java");
문자열의 기초 연산
- length(): 문자열의 길이
- charAt(index): string객체 안에 들어 있는 문자를 추출
- concat(): 2개의 문자열을 붙일 때(물론 +연산자 사용이 더 편리하긴 함)
문자열 비교하기
String s1 = "Java"; //많이 사용 되는 방법
String s2 = "Java";
String s3 = new String("Java");
System.out.println(s1.equals(s2)); //true 올바른 방법
System.out.println(s1.equals(s3)); //true 올바른 방법
System.out.println(s1==s2); //true 하지만 틀린 방법
System.out.println(s1==s3); //false 올바르지 않은 방법
문자열 단어로 분리 할 때
- split() 이용
-ex split(" ") 일 경우 공백으로 단어를 나눔
StringBuffer클래스
📍자바는 변경 가능한 문자열으루위하여 String클래스의 대안을 StringBuffer클래스를 제공한다.
- 빈번하게 문자열을 변경할 때 효율적
사용 메소드
- append()
- insert()
'STUDIES > JAVA' 카테고리의 다른 글
Java - 9. 자바 GUI (0) | 2022.11.01 |
---|---|
Java - 클래스와 객체 (0) | 2022.10.24 |
Java - 7. 추상 클래스, 인터페이스, 중첩클래스 (0) | 2022.10.24 |
Java - 6. 상속 (0) | 2022.10.22 |