옝옹
냠
옝옹
전체 방문자
오늘
어제
  • 분류 전체보기 (84)
    • [LG유플러스]유레카 SW (5)
    • React (20)
    • JS (17)
    • TypeScript (5)
    • CSS & HTML (1)
    • 알고리즘 (11)
    • JAVA (20)
    • GIT (1)
    • 자격증 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 타입변환
  • match()
  • map
  • 템플릿리터럴
  • map() 함수
  • 리액트를다루는기술
  • java
  • join()
  • TypeScript
  • java.lang패키지
  • 코드스플리팅
  • 자바스크립트
  • 인스턴스멤버
  • Node.js
  • useEffect
  • 화살표함수
  • 리액트
  • useState
  • 기본api클래스
  • continue문
  • 정적멤버
  • 함수선언
  • 접근제한자
  • 자바
  • useMemo
  • js
  • indexOf()
  • 혼자 공부하는 자바
  • switch문
  • join() 메서드
  • 변수선언
  • 백준
  • sort() 메서드
  • fillter
  • reduce
  • useRef
  • 노마드코더
  • JavaScript
  • While문
  • ==
  • 자바스트립트
  • 타입스크립트
  • toFixed
  • do-while문
  • reverse() 메서드
  • break문
  • 혼자공부하는자바
  • template literal
  • java.util패키지
  • useCallback

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
옝옹

냠

java.lang 패키지
JAVA

java.lang 패키지

2022. 11. 30. 16:00

자바 API 도큐먼트

  • API : 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음
  • API 도큐먼트 : 우리가 원하는 API를 쉽게 찾아 이용할 수 있도록 도와줌
  • API 도큐먼트에서 클래스 페이지 읽는 방법

Object 클래스

  • 자바의 최상위 부모 클래스
  • 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다.
  • Object 클래스의 메소드는 모든 자바 객체에서 사용할 수 있다.

- 객체 비교( equals() )

public boolean equals(Object obj) { ••• }
  • equals() 메소드의 매개타입은 Object인데, 이것은 모든 객체가 매개값으로 대입될 수 있음을 말함
    • 모든 객체는 Object 타입으로 자동 타입 변환될 수 있기 때문
  • 비교 연산자인 ==과 동일한 결과를 리턴
  • 동일한 객체라면 true를 리턴하고 그렇지 않으면 false를 리턴

  •  논리적으로 동등하다는 것은 같은 객체이건 다른 객체이건 상관없이 객체가 저장하고 있는 데이터가 동일 
    함을 뜻함.

- 객체 해시코드( hashCode() )

  • 객체를 식별하는 하나의 정수값
  • 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기 때문에 객체마다 다른 값을 가지고 있음

- 객체 문자 정보( toString() )

  • Object 클래스의 toStringO 메소드는 객체의 문자 정보를 리턴
    • 객체의 문자 정보 : 객체를 문자열로 표현한 값
  • 기본적으로 Object 클래스의 toString() 메소드는 '클래스이름@16진수해시코드'로 구성된 문자 정보를 리턴

System 클래스

  • System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있음
    • 프로그램 종료, 키보드로부터 입력, 모니터로 출력, 현재 시간 읽기 등이 가능
  • System 클래스의 모든 필드와 메소드는 정적 필드와 정적 메소드로 구성되어 있음.

- 프로그램 종료 ( exit() )

  • JVM을 강제적으로 종료시킬 때 호출
  • 종료 상태값: int 매개값을 지정하도록 되어 있음
    • 일반적으로 정상 종료일 경우 0값을 준다

- 현재 시각 읽기(currentTimeMillis(),  nanoTime())

  • 컴퓨터의 시계로부터 현재 시간을 읽어서 밀리세컨드 단위와 나노세컨드 단위의 long값을 리턴
  • 리턴값은 주로 프로그램의 실행 소요 시간 측정에 사용

 

Class 클래스

  • 자바는 클래스와 인터페이스의 메타 데이터를 Class 클래스로 관리
  • 메타 데이터 : 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말한다

Class 객체 얻기((getClass(), forName())

  •  클래스로부터 얻는 방법
Class clazz = 클래스이름.class
Class clazz = Class.forName("패키지…클래스이름")
  • 객체로부터 얻는 방법
Class clazz = 참조변수.getClass( );
  • 클래스로부터 객체가 이미 생성되어 있을 경우 사용하는 방법
// 1
Class clazz = String.class;

// 2
Class clazz = Class.forName("java.lang.String");
String str = "감자바";

// 3
Class clazz = str.getClass();

클래스 경로를 활용해서 리소스 절대 경로 얻기

  • Class 객체는 해당 클래스의 파일 경로 정보를 가지고 있기 때문에 이 경로를 활용해서 다른 리소스 
    파일(이미지, XML, Property 파일)의 경로를 얻을 수 있음.

String 클래스

  • 문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성가능
  • String 객체는 문자열 조작을 위한 많은 메소드를 가지고 있다.
  • String 메소드

문자 추출( charAt() )

  • 매개값으로 주어진 인덱스의 문자를 리턴

문자열 비교( equals() )

  • 문자열 비교할 때 사용
strVarl.equals(strVar2)

바이트 배열로 변환( getBytes() )

  • 문자열을 암호화할 때 문자열을 바이트 배열로 변환하는 경우
byte[] bytes = "문자열".getBytes();
byte[] bytes = "문자열".getBytes(Charset charset);

문자열 찾기( indexOf() )

  • 매개값으로 주어진 문자열이 시작되는 인덱스를 리턴한다
  • 주어진 문자열이 포함되어 있지 않으면 -1을 리턴

문자열 길이( length() )

  • 문자열의 길이(문자의 수)를 리턴

문자열 대치( replace() )

  • 첫 번째 매개값인 문자열을 찾아 두번째 매개값인 문자열로 대치한 새로운 문자열을 생성하고 리턴한다

문자열 잘라내기( substring() )

  • 주어진 인덱스에서 문자열을 추출
  • substring(int beginlndex, int endindex) : 주어진 시작과 끝 인덱스 사이의 문자열을 추출
  • substring(int beginlndex) : 주어진 인덱스부터 끝까지 문자열을 추출

알파벳 소 ,대문자 변경(toLowerCase(), toUpperCase())

  • toLowerCase() : 문자열을 모두 소문자로 바꾼 새로운 문자열을 생성한 후 리턴
  • toUpperCase() : 문자열을 모두 대문자로 바꾼 새로운 문자열을 생성한 후 리턴

문자열 앞 뒤 공백 잘라내기( trim() )

  • 문자열의 앞 뒤 공백을 제거한 새로운 문자열을 생성하고 리턴

문자열 변환( valueOf() )

  • 기본 타입의 값을 문자열로 변환하는 기능

Wrapper(포장) 클래스

  • 기본 타입의 값을 갖는 객체를 포장 객체라고 한다
  • 포장 객체는 외부에서 변경할 수 없음
  • 기본 타입의 값을 포장 객체로 만드는 것을 박싱이라고 하고, 반대로 포장 객체로부터 기본 타입의 값을 얻는 것을 언박싱이라고 한다.

  • 자동 박싱 : 포장 클래스 타입에 기본값이 대입될 경우 발생
  • 자동 언박싱 : 기본 타입에 포장 객체가 대입되는 경우와 연산에서 발생
  • 문자열을 기본 타입 값으로 변환할 때에도 많이 사용
  • 직접 내부 값을 언박싱해서 비교하거나, equals() 메소드로 내부 값을 비교하는 것이 좋음

Math 클래스

  • 수학 계산에 사용할 수 있는 메소드를 제공
  • Math 클래스가 제공하는 메소드는 모두 정적 메소드이므로 Math 클래스로 바로 사용할 수 있다.

[확인 문제]

④ Object의 toString() 메소드는 객체의 필드값을 문자열로 리턴한다.

- haschCode(), equals()

package yeong.verify.exam03;

public class Student { 
	private String studentNum;

    public Student(String studentNum) { 
    	this.studentNum = studentNum;
    }
    
    public String getStudentNumQ { 
    	return studentNum;
    }
    
    @Override
    public boolean equals(Object obj) {
    	if(obj instanceof Student) { 
    		Student student = (Student) obj; 
    		if(studentNum.equals(student.getStudentNum())) { 
    			return true;
    		}
    	}
    	return false;
}

package yeong.verify.exam04;

public class Member {
    private String id;
    private String name;
    
    public Member(String id. String name) {
    	this.id = id;
    	this.name = name;
    }
    
    @Override
    public String toString() {
    	return id + ": " + name;
    }
}

④ 클래스, class로 Class 객체를 얻을 수 없다.

package yeong.verify.exam06;

public class BytesToStringExample {
    public static void main(String[] args) {
        byte[] bytes = { 73, 32, 108, 111, 118, 101, 32, 121, 111, 117 };
        String str = new String(bytes);
        System.out.println( str );
}

package yeong.verify.exam07;

public class FindAndReplaceExample {
    public static void main(String[] args) {
    String str = "모든 프로그램은 자바 언어로 개발될 수 있다.";
    int index = str.indexOf("자바");
    if(index == -1) {
    	System.out.println("자바 문자열이 포함되어 있지 않습니다.");
    } else {
    	System.out.println("자바 문자열이 포함되어 있습니다.");
    	str = str.replace("자바", "Java");
    	System.out.println("—>” + str);
    	}
    }
}

 -> 값의 범위가 -128〜 127이면 ==은 값을 비교하고 그 이외에는 번지를 비교하기 때문

① Integer.parselnt(strDatal)

② String.value0f(intData2)

저작자표시 비영리 변경금지 (새창열림)

'JAVA' 카테고리의 다른 글

멀티 스레드  (0) 2022.12.05
java.util 패키지  (0) 2022.11.30
익명 객체  (0) 2022.11.15
중첩 클래스와 중첩 인터페이스  (1) 2022.11.15
타입 변환과 다형성  (0) 2022.11.09
    'JAVA' 카테고리의 다른 글
    • 멀티 스레드
    • java.util 패키지
    • 익명 객체
    • 중첩 클래스와 중첩 인터페이스
    옝옹
    옝옹

    티스토리툴바