<모듈>
- java9에서 도입된 개념
- 패키지와 이미지등의 리소스를 담은 컨테이너
- 모듈파일(.jmod)로 저장
<자바 모듈화의 목적>
- 자바 컴포넌트들을 필요에 따라 조립하여 사용하기 위함
- 컴퓨터 시스템의 불필요한 부담 감소
<java 주요 패키지>
java.lang | - 자바 language패키지 - 스트링,수학 함수, 입출력 등 자바 프로그래밍에 필요한 기본적인 클래스와 인터페이스 - import문 사용하지 않아도 사용 가능! |
java.util | - 자바 유틸리티 패키지 - 날짜, 시간,벡터,해시맵 등과 같은 다양한 유틸리티 클래스와 인터페이스 제공 |
java.io | - 키보드,모니터,프린터,디스크 등에 입출력할 수 있는 클래스와 인터페이스 제공 |
java.awt | 자바 GUI 프로그래밍을 위한 클래스와 인터페이스 제공 |
java.swing | 자바 GUI 프로그래밍을 위한 스윙 패키지 |
<Object 클래스>
- java.lang 패키지에 포함
- 모든 클래스의 수퍼 클래스
--> 모든 클래스에 강제 상속
--> 모든 객체가 공통으로 가지는 객체의 속성을 나타내는 메소드 보유
<객체를 문자열로 변환>
String toString()
- 객체를 문자열로 반환
- Object 클래스에 구현된 toString()이 반환하는 문자열
- 객체를 출력할 때도 toString 메서드가 같이 나옴
- 개발자는 자신만의 toString() 작성 필요
-->Object의 toString() 오버라이딩 (이때는 public으로 접근제어자 설정해야)
p가 p.toString()으로 자동변환된다.
<콘솔창>
<객체 비교와 equals()>
==연산자
두개의 레퍼런스 비교 (두 레퍼런스가 동일한 객체를 가리키고 있는지 비교)
equals()
- 객체 비교를 위해서는 equals() 이용해야함
- 객체 내용이 같은지 비교
x=2,y=3 이라는 내용이 같아도 a와 b는 다른 객체를 가리키기 때문에 "a==b"가 출력되지 않지만 c는 a와 같은 객체를 가리키기 때문에 "a==c"가 출력된다.
콘솔창에는 "a is eqaul to b" 가 뜬다. 이는 a,b,c가 가리키는 객체는 모두 다르지만 a와 b는 2*3의 값과 3*2의 값이 같으므로 객체의 내용 자체는 같아지기 때문이다!
<Wrapper클래스>
- 이름이 Wrapper인 클래스는 존재하지 않는다
- 용도는 기본 타입의 값을 객체로 다룰 수 있게 한다.
- java.lang 패키지에서 제공됨
Integer i = integer.valueOf(10); --> 기본타입의 값으로 Wrapper 객체 생성
Integet i=Integer.valueOf("10"); --> 문자열로 Wrapper 객체 생성
Wrapper 객체로 부터 기본타입 값 알아내기
Integer i=Integer.valueOf(10);
int ii= i.intValue(); //ii=10
문자열을 기본 데이터 타입으로 변환
int i=Integer.parseInt("123"); // i=123
기본타입을 문자열로 변환
String s1=Integer.toString(123); //정수 123을 문자열 "123"으로 변환
<박싱과 언박싱>
박싱
- 기본 타입의 값을 Wrapper 객체로 변환
예) Integer ten=Integer.valueOf(10);
언박싱
- Wrapper 객체에 들어이는 기본 타입의 값을 빼내는 것
예) int n=ten.intValue();
<String의 특징과 객체 생성>
String - java.lang.String
= String 클래스는 하나의 문자열 표현
스트링 생성 방법
- 리터럴로 생성 String s="Hello";
- String 객체로 생성 String t=new String("Hello");
- 스트링 객체는 수정 불가능
- 스트링은 비교시 반드시 equals 비교 --> equals()는 내용을 비교하기 때문
String a="Hello";
String b="Java";
String c="Hello";
String d=new String("Hello");
String e= new String("Java");
String f= new String("Java");
<int compareTo(String anotherString)>
- 문자열이 같으면 0 리턴
- 문자열이 anotherString 보다 사전(dictinary) 상에 먼저 나오면 음수 리턴
- 문자열이 anotherString 보다 사전에 나중에 나오면 양수 리턴
- == 연산자 사용하면 안됨
<문자열 연결>
+ 연산자로 문자열 연결
피연산자에 문자열이나 객체가 포함되어 있는 경우
: 객체는 객체.toString()을 호출하여 문자열로 변환하여 연결
기본 타입값은 문자열로 변환하여 연결
String concat(String str)을 이용한 문자열 연결
"I love".concat("Java")는 "I love Java" 리턴
<공백제거>
String trim()
=문자열 앞 뒤 공백문자 제거한 문자열 리턴
String a= " abcd def ";
String c= a.trim(); // c="abcd def" -->문자열 중간에 있는 공백은 제거되지 않음
char charAt(int index)
String a="class";
char c=a.charAt(2); //c='a'
'Java > 기초' 카테고리의 다른 글
[java 기초] 제네릭과 컬렉션 (0) | 2021.07.04 |
---|---|
[java기초] 제네릭 프로그래밍 (0) | 2021.07.02 |
[java기초] 패키지 (0) | 2021.07.02 |
[java 기초] 인터페이스와 다형성 (0) | 2021.06.30 |
[java기초] 인터페이스 (0) | 2021.06.30 |
댓글