2022-05-19 데일리 회고 16일차

Sung-min Seo·2022년 5월 19일
0

🥕 내부 클래스 (Inner Class)

내부 클래스란 클래스 안의 클래스란 뜻으로 비슷한 개념의 클래스들이나 인터페이스들을 한곳에 묶어 놓을때 사용된다. 이렇게 되면 하나의 개념을 찾을때 좀더 쉽게 관련된 클래스들을 찾을수 있고 가독성이 늘어난다.

내부 클래스는 보통 외부 클래스에서 선언된 메서드나 변수들을 가져다 쓸수 있다는 특징이 있다.

1. 맴버 내부 클래스 (Member Inner Class)

    맴버 내부 클래스는 크게 두가지로 나뉜다. 인스턴스 맴버 내부 클래스와 정적 맴버 내부 클래스이다.

📌 인스턴스 맴버 내부 클래스 (Inner Class / Non-static Nested Class)

    비정적(non-static) 클래스이며 내부 클래스의 가장 기본적인 형태라고 한다. 접근제한자를 사용하는게 가능하며 외부 클래스에서 선언된 정적 요소들을 사용하지 못한다.

📌 정적 맴버 내부 클래스(Static Nested Class)

    외부 클래스 안에 존재하는 정적(static) 클래스이다. 기본적으로 private이나 static 변수들만 외부 클래스에서 직접적으로 사용할수 있고 그 외엔 참조 변수를 사용해 간접적으로 변수들을 가져올수 있다.

2. 지역 내부 클래스 (Method Local Inned Class)

    지역 내부 클래스는 외부 클래스 바로 안에 존재하는 내부 클래스에서 한 단계 더 나아가 메서드 안에 존재하는 클래스이다. While 문이나 For 문 안에서 사용될수도 있으며 그 안에서만 적용되는 클래스이다. 접근 제한자는 사용하지 못하지만, final 이나 abstract을 지정해줄수 있다.

3. 익명 내부 클래스 (Anonymous Inner Class)

    기본적으로 멤버 내부변수와 비슷하지만 클래스명을 가지고 있지 않다. 하나의 객체만을 생성할수 있으며 일회용으로 사용된다. 주로 클래스의 오버로딩 목정으로 사용되거나 인터페이스용으로 만들어진다고 한다.

What is Inner Class?

내부(inner) class와 내부(inner) static class 차이

Member Inner Class in Java

Oracle : Nested Class

⭐ 오늘의 소감

한번에 많은 양의 진도를 나가다보니 하나 하나 정리를 해나가기 벅찬 느낌이다. 오늘 스트림과 애너테이션도 함께 배웠지만, 특히나 스트림쪽에 정리할게 산더미다...

profile
매일 문제 3개 이상 풀기!!

0개의 댓글