Back-end 100

StringBuffer, StringBuilder 클래스

문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. 예를 들어 String의 resplace() 메소드는 내부의 문자를 대치하는 것이 아나라 대치된 새로운 문자열을 리턴, String 객체를 + 연산할 경우도 마찬가지 -> 문자열을 결합하는 + 연산자를 많이 사용하면 할수록 그만큼 String 객체의 수가 늘어나기 때문 프로그램 성능을 느리게 하는 요인이 된다 문자열을 변경하는 작업이 많을 경우에는 String 클래스를 사용하는 것 보다 java.lang 패키지의 StringBuffer, StirngBuilder 클래스를 사용 내부 버퍼(buffer : 데이터를 임시로 저장하는 메모리) 에 문자열을 저장 추가, 수정, 삭제 작업을 할수 있도록 설계 String 처럼 새로운 객체를 만들지 않..

StringTokenizer 클래스

문자열이 특정 구분자(delimiter)로 연결 되어 있을 경우, 구분자를 기준으로 부분 문자열을 분리 하기 위해서는 String의 split() 메소드를 이용하거나, java.util 패키지의 StringTokenizer 클래스를 이용 split() 은 정규 표현식으로 구분, StringTokenizer는 문자로 구분 Split() 메소드 String 클래스의 split()메소드는 다음과 같이 호출 정규 표현식을 구분자로 해서 문자열을 분리한 후 , 배열에 저장하고 리턴 String[] result = "문자열".split("정규표현식"); ex) &, 쉼표(,) , -를 제외하고 따로 뽑아내고 싶을 경우 파이프(|) 기호로 연결한 정규 표현식을 매개값으로 제공 String[] names = text...

String 클래스

문자열은 데이터로서 아주 많이 사용 문자열을 생성, 추출 비교, 찾기, 분리, 변환 을 제공하는 메소드를 잘 익혀두어야함 String 생성자 java 문자열은 java.lang. 패키지의 String 클래스의 인스턴스로 관리 소스상에서 문자열 리터럴은 String 객체로 자동 생성 String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성 String 클래스는 Deprecated(비권장)된 생성자를 제외하고 약 13개의 생성자 제공 *Deprecated 예전 자바 버전에서는 사용되었으나, 현재버전과 차후 버전에서 사용하지 말라는 뜻 어떤 생성자를 이용해서 String 객체를 생성할지는 제공되는 매개값의 타입에 달려 있다 다음은 사용 빈도수가 높은 생성자 파일의 내용을 읽거나, 네트워크를..

Class 클래스

클래스와 인터페이스의 메타 데이터를 java.lang 패키지에 소속된 Class 클래스로 관리 *메타 데이터란 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말함 Class 객체 얻기 (getClass(), forName()) 프로그램에서 Class 객체를 얻기 위해서는 Object 클래스가 가지고 있는 geeClass() 메소드를 이용하면 된다 Class class = obj.getClass() getClass() 메소드는 해당 클래스로 객체를 생성했을 때만 사용 객체를 생성하기 전 직접 Class 객체를 얻을 수 잇다. Class는 생성자를 감추고 있기 때문에 new 연산자로 객체를 만들수 없다 정적 메소드인 forName()을 이용 forName() 메소드는 클래스 전체이름(패키지가 포함..

System 클래스

자바 프로그램은 운영체제상에서 바로 실행되는 것이 아니라 JVM 위에서 실행 운영체제의 모든 기능을 자바 코드로 직접 접근하기란 어려움 java.lang 패키지에 속하는 System 클래스를 이용하면 운영체제의 일부 기능을 이용할 수 있다. 프로그램 종료, 키보드로 부터 입력, 모니터로 출력 . 메모리 정리, 현재 시간 읽기, 시스템 프로퍼티 읽기, 환경 변수 읽기 등이 가능, System 클래스의 모든 필드와 메소드는 정적(Static) 필드와 정적 (Static) 메소드로 구성 프로그램 종료(exit()) 경우에 따라서는 강제적으로 JVM을 종료 시킬 때도 있다. System 클래스의 exit() 메소드를 호출 exit() 메소드는 현재 실행하고 있는 프로세스를 강제 종료시키는 역할 exit() 메소..

Objects 클래스

Object와 유사한 이름을 가진 java.util.Objects 클래스는 객체 비교, 해시코드 생성, null 여부, 객체 문자열 리턴 등 연산을 수행하는 정적 메소드들로 구성된 Object 유틸리티 클래스 리턴 타입 메소드(매개 변수) 설명 int compare(T a, T b, Comparator c) 두 객체 a와 b를 Comparator를 사용해서 비교 boolean deepEquals(Object a, Object b) 두 객체의 깊은 비교(배열의 항목까지 비교) boolean equals(Object a, Object b) 두 객체의 얕은 비교(번지만 비교) int hash(Object... values) 매개값이 저장된 배열의 해시코드 생성 int hashCode(Object o) 객체의 ..

Object 클래스

extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.Object 클래스를 상속 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스 객체 비교(equals()) public boolean equals(Object obj){...} equals() 메소드 매개타입은 Object인데, 이것은 모든 객체가 매개값으로 대입될수 있음 -> Object가 최상위 타입이므로 모든 객체는 Object 타입으로 자동 타입 변환 될수 있다. Object 클래스의 equals() 메소드는 비교연산자인 ==과 동일한 결과를 리턴 두 객체가 동일한 객체라면 true를 리턴, 그렇지 않으면 false를 리턴 자바에서는 두 객체를 동등 비교할때 equals() 메소드 사용 -> 두객체를 비교해서 ..

java.lang 과 java.util 패키지

가장 많이 사용하는 패키지 java.lang java.util.java.time 패키지 java.lang 패키지 자바 프로그램의 기본적인 클래스를 담고 있는 패키지 java.lang 패키지에 있는 클래스와 인터페이스는 import 없이 사용 가능 String, System 클래스도 java.lang 패키지에 포함되어 있기 때문에 import 하지 않고 사용 클래스 용도 Object -자바 클래스 최상위 클래스로 사용 System -표준 입력장치 (키보드)로부터 데이터를 입력받을때 사용 -표준 출력장치 (모니터)로 출력하기 위해 사용 -자바 가상 기계를 종료 시킬 때 사용 -쓰레기 수집기를 실행 요청할때 사용 Class - 클래스를 메모리로 로딩할 때 사용 String - 문자열을 저장하고 여러가지 정보를..

자바 API 도큐먼트

API (Application Programming Interface) API => 라이브러리라고 부르기도함 프로그램 개발에 자주 사용되는 클래스 및 인터페이스 모음 API 들은 \jre\lib\rt.jar 압축 파일에 저장 API 도큐먼트는 쉽게 API를 찾아 이용 할 수 있도록 문서화 한 것 API 도큐먼트는 HTML페이지로 작성 , http://docs.oracle.com/javase/8/docs/api/ 에서 추가 확인 가능 API 도큐먼트는 세개의 프레임으로 나뉘어져 있다 좌측상단 프레임 패키지 전체 목록 확인 좌측 하단 프레임 패키지에 속하는 클래스와 인터페이스에 대한 상세 설명을 보여 준다 중앙 프레임 내용은 크게 세부분 구성 상단 부분은 클래스가 포함된 패키지 정보, 상속정보, 인터페이스 ..

예외 처리

예외와 예외 클래스 컴퓨터 하드웨어의 오동작 또는 고장 -> 응용프로그램 실행 오류가 발생하는 것을 자바에서 -> 에러 에러 JVM 실행에 문제가 생겼다는 것 JVM위에서 실행되는 프로그램을 아무리 견고하게 만들어도 실행 불능 에러에 대처할 방법이 없음 에러 이외에 예외(exception) 오류 사용자의 잘못된 조작, 개발자의 잘못된 코딩으로 발생하는 프로그램 오류 예외가 발생되면 프로그램은 곧바로 종료 예외처리 (Exception Handling) 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지 일반예외(Exception) - 컴파일러 체크 예외 - 자바 소스를 컴파일 하는과정에서 예외 처리 코드가 필요한지 검사 - 예외 처리 코드가 없다면 컴파일 오류 발생 실행예외(Runtime Exceptio..