JAVA/★객체지향36 object / finalize(사용할일 거의 없음)+ 가비지컬렉션 설명 1) finalize: 객체가 소멸될 시 호출되기로 약속된 메소드 (이 메소드를 볼 일은 많지않을 것이다) 가비지컬렉션(슈레기 수집)- 어떤 인스턴스를 만들었고 그걸 변수에 담았는데 그 변수를 사용하는 곳이 더 이상 없다면 이 변수와 변수에 담겨있는 인스턴스는 더 이상 메모리에 머물고 있을 필요가 없다. 자바는 이를 감지하고 자동으로 쓰지 않은 데이터를 삭제해줌. 따라서 개발자가 사용하지 않는 데이터를 직접 삭제하는 작업을 하지 않아도 되는 것이다. 어려운 메모리 관리로부터 개발자들의 부담을 경감시킨 도약! 2023. 3. 14. Object/ -> toString/ equals + hashcode(어렵) 1)object: 모든 클래스의 grandfather!! class O { } =class O extends Object { } 모든클래스는 암시적으로 상속받고 있는것이다 2)toString - 객체를 문자로 표현 toString은 말 그대로 객체의 정보를 String(문자열)형으로 형변환 해준다 그럼 값을 내가 원하는대로 하고싶다면? 오버라이딩ㄱㄱ 오브젝트 멤버인 toString을 오버라이딩해서 값을 바꾸자 object의 멤버 toString = Calculator는 object의 자식이란 의미 3)equals - 객체와 객체가 같은지 비교 서로 다른 객체로 판단하고 있다 근데 필요에 따라 s1이랑 s2 내부적인 name변수값이 같은 객체라고 equals가 동작하도록 변경하자 오버라이딩ㄱㄱ ~ .. 2023. 3. 13. 사용자 정의 예외(checked/ unchecked) *checked - api사용하는 쪽에서 예외처리하도록 강제/ 부모 런타임있으면 안되고 (사용자가 예외상황에서 그 상황을 복구하거나 개선가능성 잇을 경우) ex) 파일이 존재하지 않는다 --> 파일찾아달라 *unchecked - 예외처리 강제x / 런타임 oo (그 상황에서 앱 종료하는게 더 낫다, 할게 없다) RuntimeException (unchecked) 2) Exception으로 바꾸면 checked 돼서 오류가뜸 ( try catch가 필요 or 던진다) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓try catch↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓throw↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 값: 0으로 나누는 것은 허용되지 않습니다. 여기서 left와 right값을 추가로 호출되게 하고 싶다.. 2023. 3. 13. 예외의 여러가지 상황(checked/ unchecked) 처리하게 강제 or 처리하거나 말거나 사용자한테 돌릴수 있다 1번은 예외처리안해도 문제없고 똑같은 exception인데 왜 2번만 붉은색임 ??;; 왜 얘만 처리해주도록 강제되어있음? 결론: Arithmetic의 부모는 runtime 의 부모는 exception IOE의 부모는 exception 설명(아래 내리다보면 자세한거 나옴) 일단 해결방법 - 1. try catch 2. api사용하는 사용자에게 던지기 위의 결론을 이해하기 위해서 이걸 보자 다른예제에서 왜 exception이 왜 제일아래일까? exception이 가장 뒤에 오는이유가 앞에 두개예외의 부모라서!! ↓↓↓↓↓↓↓↓↓↓↓↓여기서 설명이 나온다 그럼 부모를 찾아보자↓↓↓↓↓↓↓↓↓↓↓↓ https://docs.oracle.com/java.. 2023. 3. 13. 이전 1 2 3 4 5 6 7 ··· 9 다음