JAVA - 12 [Chapter4]

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

2021.06.07
어제 직접 프로그래밍 하는 작업이 있었는데 어제 다 해결하지 못하고 오늘 아침부터 해서 다 해결하였기 떄문에 오늘까지의 작업을 GIThub에 업로드한뒤 다음 수업을 진행함

1강 : Object클래스 - 모든 클래스의 최상위 클래스

object클래스 : java에서 기본으로 제공하는 패키지?
-> 모든 클래스는 object클래스를 상속 받게 된다.
ex : String, System 등등

toString() 메서드 : 객체 정보를 String으로 바꾸어서 사용할 떄 쓰임

2강 : Object 클래스의 메서드 활용

equal() 메서드 : 두 인스턴스의 주소 값을 비교하여 true/false를 반환
hashCode() 메서드 : 인스턴스의 저장 주소를 반환함.(논리적)

인스턴스를 만들면 heap 메모리에 저장이 되고 이떄의 이름은 참조변수 라고 한다.

두개의 인스터스를 같다고 하면 heap 메모리가 같다 즉 위치가 같다라는걸 의미한다.(물리적으로는 다르지만 논리적으로 같다)

논리적으로 두 인스턴스가 같다고 하면 반환하는 hashcode값도 같아야 한다.
--> hashcode는 주소값을 반환 하기 떄문에

만약 equals를 오버라이딩 했다면 hashcode도 오버라이딩 해주어야 한다.
--> 매개변수 값은 같아야 한다.

clone() 메서드 : 객체의 원본을 복제하는데 사용하는 메서드
-> 이걸 사용시에는 객체 지향 프로그램에서의 정보은닉, 보호의 관점에서 위배 되기 떄문에
-> cloneable 인터페이스를 명시해 준다.

이론에 대한 내용을 코드로 보여주는 강의
-> 어렵고 이해가 잘 안됨;;

3강 : String, StringBuilder, StringBuffer 클래스, text block

String str1 = new String("abc");
-> heap메모리에 실제로 생성자가 생성이 된다.
String str2 = "abc";
-> String pool에 주소만 가르킨다.

==> 즉 두개의 인스턴스는 다른것이다.

한번 생성된 String은 불변이다.(final로 선언된다)
String을 연결하게 되면 기존의 String에 연결되는 것이 아니라 새로운 문자열이 생성이 된다.
--> StringBuilder, StringBuffer을 활용해야 한다.

도저히 시간을 써도 이해가 되지가 않아서 오늘은 여기까지만 하도록 했음
내일 다시 공부를 하여 내용을 추가할 예정

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

0개의 댓글