JAVA - 13

Lumi·2021년 6월 8일
0
post-thumbnail

2021.06.08
JAVA - 12 에서 공부했던 내용을 다시 알아보고자 한다.

--> ch01 참고

생성자 함수를 통해서 받은 매개변수값들을 출력을 하고 싶다면 toString을 오버라이딩 해주면 된다.

--> ch2참고

재정의 하여 두 인스턴스가 논리적으로 동일함을 구현할떄에는
equals() 메서드를 활용
--> 같은 학번, 같은사번, 같은 아이디 등등

heap메모리에 저장된 주소값을 hashcode라고 한다.
-> 나중에 배울것이지만 hash(key) = index
--> hash값에 key를 넣고 index를 반환받는 java의 저장 방식

equals를 오버라이딩 하면 hashcode도 오버라이딩 해주어야 한다

clone같은 경우에는 따로 생성을 하는것이 아니라 상태를 그대로 복제를 하여 리턴해준다.
-> 복제 대상의 값이 바뀌게 되면 clone도 같이 바뀌게 된다.

--> ch3참고

String 같은 경우에는 연결되는 것이 아니라 새로운 문자열이 생성된다(메모리 낭비 발생가능)

-- 코드 --

String java = new String("java");
String android = new String("android");
java = java.concat(android);
// java에 이어진 String이 아니라 완전 새로운 객체가 만들어짐
// java에 데이터메모리가 붙여지는것이 아니다.
// 실제로 hashcode를 보면 주소값이 다르다.
// 좋은방법이 아니기 떄문에 StringBuilder, StringBuffer을 활용해야 한다.

StringBuilder, StringBuffer활용하기

-- 코드 --

String java = new String("java");
String android = new String("android");

StringBuilder buffer = new StringBuilder(java);
buffer.append(android);
// buffer에 android를 붙여주는것

String test = buffer.toString();
// buffer값을 반환
System.out.println(test);

// 새로운 메모리가 아니라 값이 변하는것이기 떄문에 주소값이 동일하다.

4강 : class 클래스 사용하기

forName(String classname) : 변수에 해당하는 것을 동적 로딩을 해준다.
: 종종 사용한다.

======== 느낀점 ========
패스트 캠퍼스를 통해서 공부하는 java는 잠시 멈춰보려고 한다.
일단 이번 챕터가 이해가 안되는 부분이 많아서 기본부터 다시 천천히 복습해보고자 한다.
복습은 programmer의 자바 입문, 자바 중급, 자바 플레이그라운드를 통해서 정말 완벽하게 기초를 쌓고 나아가고자 한다.
그러기 떄문에 JAVA라는 태그를 가진 글은 일단 잠시 멈추고 새로운 글을 작성할 예정이다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글