본문 바로가기

전체 글155

Day23. StringBuffer클래스 & StringBuilder클래스 String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만, StringBuffer클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다. StringBuffer클래스의 인스턴스를 생성할 때, 적절한 길이의 char형 배열이 생성되고, 이 배열은 문자열을 저장하고 편집하기 위한 공간(buffer)으로 사용된다. public class StringBufferTest { public static void main(String[] args) { String str = "a"; str += "b"; str += "c"; str.. 2022. 2. 3.
Day 22. clone( ) 이 메서드는 자신을 복제하여 새로운 인슽컨스를 생성하는 일을 한다. 어떤 인스턴스에 대해 작업을 할 때, 원래의 인스턴스는 보존하고 clone메서드를 이용해서 새로운 인스턴스를 생성하여 작업을 하면 작업이전의 값이 보존되므로 작업에 실패해서 원래의 상태로 되돌리거나 변경되기 전의 값을 참고하는데 도움이 된다. import lombok.AllArgsConstructor; import lombok.ToString; public class CloneEx1 { public static void main(String[] args) throws CloneNotSupportedException { Target t1 = new Target(1, 2, new int[] {5, 6, 7}); Target .. 2022. 1. 28.
Day 21. hashCode( ) 이 메서드는 해싱(hashing)기법에 사용되는 '해시함수(hash function)'를 구현한 것이다. 해싱은 데이터관리기법 중의 하나인데 다량의 데이터를 저장하고 검색하는 데 유용하다. 해시함수는 찾고자하는 값을 입력하면, 그 값이 저장된 위치를 할려주는 해시코드를 반환한다. import java.util.HashMap; public class AddrTest { public static void main(String[] args) { Addr a1 = new Addr(1, "1길동", "영등포"); Addr a2 = new Addr(2, "2길동", "당산"); Addr a3 = new Addr(1, "1길동", "영등포"); System.out.println(a1.equals.. 2022. 1. 28.
Day 20. Day 16. ~ 19.는 대학교 프로젝트로 사라져버린... 8ㅅ8 try-catch문에서의 흐름 > try 블럭 내에서 예외가 발생한 경우, 발생한 예외와 일치하는 catch블럭이 있는지 확인 일치하는 catch블럭을 찾게 되면, 그 catch블럭 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행한다. 만일 일치하는 catch블럭을 찾지 못하면, 예외는 처리되지 못한다. > try 블럭 내에서 예외가 발생하지 않은 경우, catch블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속한다. public class ExceptionEx5 { public static void main(String[] args) { System.out.println(1.. 2022. 1. 28.