2022 / 9 / 20 화
- 예외 처리
- 자바 API
- Object 클래스
- Class클래스
- tomcat설치
✔️예외 처리
try - with - resources
- 예외 발생 여부와 상관이 없음
- 사용했던 리소스 객체의 close() 메소드를 호출하여 리소스를 닫는다.
- 리소스 객체는 java.lang.AutoCloseable 인터페이스를 구현하고 있어야 한다.
예외 떠 넘기기 throws
- 메소드 선언 끝에 작성을 한다.
✔️자바 API
자바 API?
- 자바에서 기본적으로 제공하는 라이브러리로 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음이다.
API 도큐먼트
https://docs.oracle.com/javase/8/docs/api/
Java Platform SE 8
docs.oracle.com
java.lang 패키지
- 자바 프로그램의 기본적인 클래스를 담은 패키지
- 포함된 클래스와 인터페이스는 import 없이 사용
클래스 | 용도 | |
Object | 자바 클래스의 최상위 클래스로 사용 | |
System | 키보드로 부터 데이터를 입력 받을때 사용 표준 출력장치로 출력하기 위해 사용 자바 가상머신을 종료시킬떄 사용 쓰레기 수집기를 실행요청할 떄 사용 |
|
Class | 클래스를 메모리로 로딩할 때 사용 | |
String | 문자열을 저장하고 여러가지 정보를 얻을 떄 사용 | |
StringBuffer, StringBuilder | 문자열을 저장하고 내부 문자열을 조작할 떄 사용 | |
Math | 수학 함수를 이용할 떄 사용 | |
Wrapper | Byte, Short, Characte, Integer, Flat, Double Boolean |
기본 타입의 데이터를 갖는 객체 만들떄 사용 문자열을 기본 타입으로 변환할 떄 사용 입력값 검사에 사용 |
✔️Object클래스
자바의 최상위 부모 클래스 = Object
Object의 메소드는 모든 클래스에서 사용이 가능하다.
객체비교 equals( ) 메소드
public boolean equals(Object obj) {...}
== 연산자와 동일한 결과를 리턴한다.
객체해시코드 (hashCode( ) )
객체를 식별할 하나의 정수 값을 의미한다.
객체의 메모리 주소를 이용하여 해시코드를 리턴하기에ㅔ 객체마다 다른 값을 갖고 있다.
해시코드값이 다르면 다른 객체로 판단을 하고, 값이 같다면 equals( ) 메소드로 다시 비교를 하게 된다.
✨ equals()메소드가 true이면 동일한 객체로 보고, false면 다른 객체로 보게 된다.
🔔 hashmap 클래스
HashMap클래스
HashMap클래스가 생성된 기억 장소는 [key, value] 쌍으로 설계가 되어있다.
key는 중복할 수가 없다는 성격을 가지고 있다.
데이터를 저장할 때마다 key 중복검사 기능을 가지고 있다.
중복된 키가 사용되면, 전에 정보는 소멸되고, 새로운 값이 저장된다.
사용법.
HashMap<Key, String> hashMap = new HashMap<Key, String>();
//데이터 삽입. 객체비교작업이 발생한다.
hashMap.put(new Key(1), "홍길동"); // key: 힙영역의 주소
hashMap.put(new Key(1), "이순신"); // key: 힙영역의 주소
//기억장소에 저장된 데이터의 수
System.out.println(hashMap.size()); // Object클래스의 객체비교 2. Key클래스의 재정의된 객체비교 1
객체 문자 정보(toString( ) )
객체를 문자열로 표현한 값
Object클래스의 toString() 메소드는 객체의 문자 정보를 리턴한다.
일반적으로 의미 있는 문자정보가 나오도록 재정의 | |
data클래스 | String클래스 |
현재 시스템 날짜, 시간 정보 리턴 | 저장하고 있는 문자열 리턴 |
객체 복제 (clone ( ) )
원본 객체의 필드 값과 동일한 값을 갖는 새로운 객체를 생성하는 것
얕은 복제(thin clone) - 필드 값만 복제한다. 참조 타입 필드는 주소를 공유한다.
깊은 복제(deep clone) - 참조하고 있는 객체도 복제를 한다.
객체복사가 되기위한 클래스는 조건이 있다.
Cloneable 인터페이스를 구현한 클래스 이어야 한다.
public class Member /* extends Object */ implements Cloneable {
//필드 : 기본타입과 참조타입을 구분해서 확인
//참조타입
public String id;
public String name;
public String password;
//기본타입
public int age;
public boolean adult;
public Member(String id, String name, String password, int age, boolean adult) {
this.id = id;
this.name = name;
this.password = password;
this.age = age;
this.adult = adult;
}
// 객체복사기능을 갖는 메소드
// 얕은복사
public Member getMember() {
Member cloned = null;
try {
cloned = (Member) clone(); //얕은복사. 즉 참조타입의 필드는 주소만 공유만하고. 새로운 객체생성안함.
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return cloned;
}
}
✔️Class클래스
class 클래스
클래스와 인터페이스의 메타 데이터를 관리한다.
메타데이터? 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보
class객체 얻기
object 클래스가 갖고 있는 getClass( )메소드를 이용 또는 forName( ) 메소드를 사용하자
✔️Apache Tomcat 설치하기
https://gogohh13.tistory.com/57?category=1070674
Apache Tomcat 설치하기
💻 Apache Tomcat 설치하기 Apache Tomcat 이 뭐야 ??! 아파치 톰캣은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 애플리케이션 서버이다. 톰캣은 웹 서버와 연동하여 실행할 수 있
gogohh13.tistory.com
'🏃♀️ Do it ! > TIL' 카테고리의 다른 글
Date , Calendar 클래스/ Format 클래스 / java.time 패키지 (1) | 2022.09.22 |
---|---|
String / StringTokenizer / StringBuffer , Builder / 정규표현식 , Pattern / Arrays / Wrapper 클래스 (0) | 2022.09.21 |
다중 인터페이스 / 디폴트 메서드 / 중첩 클래스 / 익명객체 / 예외 처리 (0) | 2022.09.19 |
인터페이스 / 개념체크 (0) | 2022.09.16 |
MySQL설치하기 (0) | 2022.09.15 |