분류 전체보기
-
여러가지 StringBuffer메서드Java/자바의정석 2023. 2. 22. 23:40
StringBuffer의 메서드에는 대표적으로 무엇이있을까? 메서드 수행 tringBuffer append(boolean b) StringBuffer append(char c) StringBuffer append(char[] str) StringBuffer append(CharSequence s) StringBuffer append(double d) StringBuffer append(float f) StringBuffer append(int i) StringBuffer append(long lng) StringBuffer append(Object obj) StringBuffer append(String str) StringBuffer append(StringBuffer sb) 인수로 전달된 값을 문자열..
-
자바의정석 - StringBuffer()란?Java/자바의정석 2023. 2. 22. 23:40
StringBuffer란? 문자열을 저장,변경하는 클래스 보다싶이 아주 간단하다. 문자열을 저장하고 변경하는 클래스이다. 예시를 보면서 이해해보도록 하자. String Buffer사용 이유 - String은 불면객체 - immutable 자바에서 String은 불변객체(immutable)이다. 즉, 한번 생성되면 그 내용을 바꿀 수 없다는 뜻이다. 정확하게 말하자면 내용이 아닌 주소를 바꿀 수 없다. String str1 = "a"; String str2 = "a"; str1 = "aa"; 위의 코드를 한번 살펴보자 str1, str2와 같이 값이 같은 String은 String Pool 내에서 String 객체를 공유한다. 여기서 str1의 값을 aa로 변경한다면 String Pool내에서 새로운 주소..
-
자바 equals()와 hashcode()는 왜 같이 재정의해야하는가?Java/자바의정석 2023. 2. 22. 16:10
자바 equals()와 hashcode()는 왜 같이 재정의해야하는가? 를 알아보기전에 전에 공부했던 내용을 다시한번 확인하고 이유를 파악해보자. 해시코드란? 객체를 식별할 하나의 정수 값 Object는 클래스의 최상위 타입, Object의 hashCode() 메서드는 객체의 메모리 주소를 이용하여 해시 코드를 만들어 리턴하기 때문에 객체마다 다른 값을 가지게 된다. equals 메서드란? public boolean equals(Object obj) { return (this == obj); } 해당 코드는 Object.java 에 선언되어있는 equals 메서드이다. equals메서드의 기능은 객체의 참조변수를 받아 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다. 코드를 보면 단지 참조..
-
자바 hashCode(), identityHashCode()Java/자바의정석 2023. 2. 22. 14:38
해시코드란? 객체를 식별할 하나의 정수 값 Object는 클래스의 최상위 타입, Object의 hashCode() 메서드는 객체의 메모리 주소를 이용하여 해시 코드를 만들어 리턴하기 때문에 객체마다 다른 값을 가지게 된다. System.identityHashCode()란? System.identityHashCode()는 객체의 고유한 hashcode를 리턴하는 메소드입니다. public static native int identityHashCode(Object x); System.identityHashCode()는 역시 Object에 이미 선언되어있다. 해당 코드는 위와 같다. 객체의 주소값을 int형으로 반환시켜준다. class Ex9_3 { public static void main(String[] ..
-
자바 equals()는 대체 왜 쓰는가...?Java/자바의정석 2023. 2. 22. 14:15
equals()메서드와 hashcode() 메서드는 대체 왜 쓰는가..? 우선 equals 메서드가 무엇인지부터 알아보자. equals 메서드란? public boolean equals(Object obj) { return (this == obj); } 해당 코드는 Object.java 에 선언되어있는 equals 메서드이다. equals메서드의 기능은 객체의 참조변수를 받아 비교하여 그 결과를 boolean 값으로 알려주는 역할을 한다. 코드를 보면 단지 참조값을 비교하여 같은지 여부를 판단하여 True, False를 반환한다. equals()는 언제 사용하는가? 개발을 하다보면 참조하고 있는 주소가 다르지만 두 값을 같은 값으로 인식해야하는 경우가 있다. 그러한 경우에 equals()를 오버라이딩 해..
-
자바의정석 8장 예외처리, 예외던지Java/자바의정석 2023. 2. 22. 10:21
package Chap08; class Ex8_13 { public static void main(String args[]) { try { install(); } catch(InstallException e) { e.printStackTrace(); } catch(Exception e) { e.printStackTrace(); } } // main의 끝 static void install() throws InstallException { System.out.println("시작"); try { startInstall(); // 프로그램 설치에 필요한 준비를 한다. copyFiles(); // 파일들을 복사한다. } catch (SpaceException2 e) { System.out.println("전달..
-
자바의정석 Exception 예외처리, printStackTrace() (Ex8~Java/자바의정석 2023. 2. 21. 15:39
class Ex8_5 { public static void main(String args[]) { System.out.println(1); System.out.println(2); try { System.out.println(3); System.out.println(0/0); // -> 에러 발생 System.out.println(4); // } catch (ArithmeticException ae) { //-printStackTrace() : 예외발생 당시 호출스택에 있었던 메서드의 정보와 예외 메세지를 화면에 출력한다 ae.printStackTrace(); //-getMessage() : 발생한 예외 클래스의 인스턴스에 저장된 메시지를 얻을 수 있다 System.out.println("에러메시지는: ..
-
JAVA Exception 예외처리 간단 명료 정리!!Java/자바의정석 2023. 2. 21. 14:39
예외처리에는 위의 그림과 같이 크게 RuntimeException(언 체크트예외), IOException(체크드 예외) 로 나뉘어진다. RuntimeException(언 체크트예외) IOException(체크드 예외) 처리여부 필수처리 하지 않아도 됨 필수적으로 처리 확인 시점 실행 시점 컴파일 시점 예외발생 시 트랜잭션 처리 Roll-back 실행 Roll-back 하지 않음 발생원인 프로그래머의 실수 외부영향 Checked 예외의 경우에는 try ~ catch문이나 throws를 사용하여 예외를 반드시 처리해주어야한다.