Object 클래스 : hashCode 메서드
hashcod: 원래 의미는 JVM이 객체를 구별하기위한 고유의 값 (참조값)
물리적동등성 : 실제 같은 객체인 경우
논리적동등성 : 내용 기준으로 같은 객체로 판단되는 경우
->논리적 동등성을 위해 오버라이딩이 필요함.
두 객체가 논리적으로 동등하다는 판단 기준
1. equals 메서드의 결과가 true
2. hashCode 메서드의 결과가 동일한 경우
equals 메서드 오버라이딩시 hashCode도 함께 오버라이딩을 권장
매우중요 !
String 클래스
정적인 문자열 (변경불가문자열)
1. + 연산 가능, 문자열<= 문자열 + 기본형
2. 대입연산자(=)로 객체 생성가능
3. final 클래스임 (다른 클래스의 부모클래스 불가 ) (String클래스 상속받으려 하지마~)
String 클래스의 주요 메서드
ABC123456으로 출력하려면 어떻게 바꿔야해?? (String객체는 절대 안바뀌기 때문이야??)
아래 참고
count() 메서드 구현하기
String.format = printf랑 같다고 보면됨.
(StringEx4_1108) 양이 너무 방대하니 이클립스로 보기
StringBuffer / StringBuilder 클래스 : 동적문자열 쓰레드에 동기화되어있는 여부로 구분되는건데 아직 안배웠으니 패스~
-두 개 클래스의 멤버 메서드는 동일함.
- equals 메서드를 오버라이딩 안함 -> 내용비교 불가능
-> 내용 비교를 위해서는 문자열로 변경해야함 toString() 메서드 이용
StringBuilder로 바꿔도 같은 결과가 나옴
Math클래스
수치계산관련 메서드, 상수 원주율(PI) , 자연로그(E)를 멤버로 가진다.
final 클래스이기때문에 상속불가 (다른클래스의 부모 불가)
객체생성 불가 : 생성자의 접근제어자가 private임
=>모든 멤버가 static(클래스멤버)임
소감: 객체 구조화 이후로는 뭔가 함수? 기능 위주로 배우고있는거같은데
이해하는 과정은 덜하지만 양ㅇ ㅣ 너무 방대한듯
자주 눈에 발라서 익히기
구디아카데미 후기/ 국비지원IT개발자 취업 / 김명신 강사님