Study/Java
[Java] auto boxing & auto unboxing
import java.util.Date; public class Practice { public static void main(String[] args) { Object[] a = new Object[10]; a[0] = "hello"; a[1] = new String("world"); a[2] = new Date(); a[3] = new Person("김철수", 15); a[4] = new int[] { 1, 2, 3 }; a[5] = new String[] { "one", "two", "three" }; a[6] = new Integer(3); a[7] = new Double(3.14); a[8] = 3; a[9] = 3.14; } } int, double과 같은 기본 자료형은 객체가 아니다. a 배..
[Java] override, 업캐스팅과 다운캐스팅
- 오버라이드(override) 부모 클래스의 메서드를 자식 클래스에서 또 구현하는 것을 재정의(override)라고 부른다. 부모 클래스의 메소드를 자식 클래스에서 재정의하기 위한 규칙은 다음과 같다. - 메소드 이름이 정확히 일치해야 한다. - 파라미터 변수의 수와 타입이 일치해야 한다. - 리턴 타입이 일치해야 한다. 재정의된 메서드에는 @Override 어노테이션을 붙여주는 것이 바람직하다. 붙이지 않아도 에러가 발생하는 것은 아니다. 그렇지만, @Override 어노테이션을 붙여주면, 실수를 막을 수 있어서 좋다. 오타 등의 실수로 재정의 규칙이 깨지게 되면, 컴파일 에러가 발생하므로 @Override 어노테이션을 명시함으로서 그러한 상황을 피할 수 있다. - 업캐스팅, 다운 캐스팅(up-cas..