□ Object
자바에서 모든 클래스는 사실 Object를 암시적으로 상속받고 있는 것이다.
그런 점에서 Object는 모든 클래스의 상위 클래스라고 할 수 있다.
그 이유는 모든 클래스가 공통으로 포함하고 있어야 하는 기능을 제공하기 위해서다.
□ to String
객체를 문자로 표현하는 메소드
클래스 Calculator에 toString을 재정의(overiding)했다.
그리고 인스턴스를 System.out.println의 인자로 전달하니까 toString을 명시적으로 호출하지 않았음에도 동일한 효과가 나고 있다.
toString을 직접 호출하지 않아도 어떤 객체를 System.out.print로 호출하면 자동으로 toString이 호출되도록 약속되어 있다.
□ equals
equals는 객체와 객체가 같은 것인지를 비교하는 API이다
□ finalize / garbage collection
- finalize는 객체가 소멸될 때 호출되기로 약속된 메소드이다.
- 인스턴스를 만드는 것은 내부적으로는 컴퓨터의 메모리(RAM)를 사용하는 것이다.
램을 적게 사용하는 프로그램이 좋은 프로그램이다.
많은 프로그래밍 언어들이 램을 효율적으로 사용하기 위해
더 이상 사용하지 않는 데이터를 램에서 제거할 수 있는 방법들을 제공한다.
하지만 자바에서는 이러한 방법이 제한적으로 제공되고 있는데 그것은 자동으로 해주기 때문이다.
이 작업을 자동화한 것을 가비지 컬렉션이라고 한다.
자세한 내용은 아래 블로그 참고
Java Garbage collection(NHN Hello world 블로그)
□ clone
clone은 복제라는 뜻이다. 어떤 객체가 있을 때 그 객체와 똑같은 객체를 복제해주는 기능이 clone 메소드의 역할이다.
Cloneable의 실제 코드에는 비어있는 인터페이스이다.
그저 Student가 복제 가능하다는 것을 표시하기 위한 것이다.
출처 : 생활코딩 유튜브 :
https://www.youtube.com/watch?v=yqP3_cajDf4&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=133
'Java & Spring > Java' 카테고리의 다른 글
생활코딩 - Java(참조) (0) | 2024.04.18 |
---|---|
생활코딩 - Java(상수와 enum) (0) | 2024.04.17 |
생활코딩 - Java(예외 Exception) (0) | 2024.04.15 |
생활코딩 - Java(다형성) (0) | 2024.04.04 |
생활코딩 - Java(abstract,final,interface) (0) | 2024.04.03 |