🎅 inner클래스(내부클래스)의 사용 용도와 장점
- 특정 클래스 내에서만 주로 사용되는 클래스를 사용할 때 내부클래스로 선언합니다.
- 내부클래스에서 외부클래스의 멤버들에 쉽게 접근할 수 있으며 코드의 복잡성을 줄일 수 있다는 장점이 있습니다. (캡슐화)
👸 오버로딩과 오버라이딩에 대해서 설명
- 오버로딩과 오버라이딩은 클래스의 다형성을 지원하는 방법입니다. 오버로딩은 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술이고,
오버 라이딩은 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의하는 것입니다.
함수의 원형은 부모 클래스와 일치해야 합니다.
오버로딩이 지원되지 않으면 매개변수의 타입이나 개수가 다른 메소드를 여러개 만들어줘야 하는 단점이 있습니다.
자바에서는 메소드의 이름이 같고 매개변수를 다른 메소드를 만들어 다형성을 지원합니다.
여기서 오버로딩은 리턴타입은 전혀 영향을 주지 않고, 매개변수의 타입과 개수에만 영향을 받습니다.
오버라이딩은 상속받은 클래스의 메소드가 하위 클래스에서 충분한 기능을 제공하지 않거나, 부족할 때 상위 클래스로부터 상속받은 클래스를 재정의 하는 것입니다.
👩🦰 primitive type, reference type에 대해서 설명
타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고,
프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것입니다.
자바에서 타입은 크게 기본형 타입과 참조형 타입이 있습니다.
- primitive type(기본형)
자료형의 길이가 변하지 않으며 비객체 타입이므로 null값을 가질 수 없습니다
int, char, short, long, float, double, boolean, byte
- reference type(참조형)
8개의 기본형을 제외한 나머지 타입을 참조형이라 하며
java.lang.Object를 상속 받으면 참조형이 됩니다.
차이점은
참조형 변수의 Integer나 Double등은 object로써 가공이 용이한 반면 단순 대입시에 좀 불편합니다.
기본형 변수의 경우 단순연산에는 좋으나 복잡한 데이터 가공시에 어려움이 있습니다.