전체 글 (11) 썸네일형 리스트형 [Java] 내부 클래스, 캡슐화 원칙을 위한 설계 기법 개요오늘은 내부 클래스가 어떻게 캡슐화 원칙을 강화할 수 있는지에 대해 설명하겠습니다.중첩 클래스와 내부 클래스먼저 중첩 클래스와 내부 클래스의 차이에 대해 알아봅시다. 중첩 클래스에는 여러 가지 종류가 있습니다. 중첩 클래스에는 총 4가지 종류가 있습니다. 첫째로 정적 중첩 클래스, 둘째로 내부 클래스, 셋째로 지역 클래스, 넷째로 익명 클래스입니다. 이 네 가지 클래스를 구분하는 첫 번째 기준은 바깥 인스턴스에 소속되는지 여부입니다. 정적 중첩 클래스의 경우에는 바깥 인스턴스에 소속되지 않고, 전혀 다른 인스턴스를 생성합니다. 반대로 나머지 클래스들은 바깥 인스턴스에 소속됩니다. 오늘 시간에는 각각에 대해 설명하지 않겠습니다. 오늘은 내부 클래스가 어떻게 캡슐화 원칙을 강화할 수 있는지에 대해 설명하.. [Etc.] Boolean vs boolean 사소한 문제 오늘은 코딩테스트를 준비하며 알게된 사실 하나를 정리하려고 한다. 오늘의 문제 발생 원인은 다음 코드에 있다. class Solution { public boolean canVisitAllRooms(List> rooms) { // 자료형을 바꿔야할까? 굳이? 그냥 bfs를 바로 구현해버리면 안되나? // 결국 그냥 큐에 넣어서 순회하면 그만이다. boolean[] visited = new boolean[rooms.size()]; Queue queue = new ArrayDeque(); // bfs는 어떤 방식으로 순회를 하더라? // 큐에 넣어놓고 반복문을 돌려서 확인했던것 같다. // 뭘 반복하지.. [Etc.] 리스트...근데 이제 불변 객체를 곁들인. 문제 상황 알고리즘 공부를 하다가 흥미로운 부분이 있어 공유합니다. 먼저 설명을 하기 위해서 algorithm 패키지에 ListExample 클래스를 만들었어요. 인텔리제이를 사용하고 있는데, 하나 꿀팁을 드리자면 인텔리제이에 psvm이라는 키워드를 입력하면 자동완성으로 아래와 같이 작성할 수 있어요. 참 인텔리전스하쥬? 오늘은 아래의 코드에 나타난 문제점에 대해서 다룰 건데요. 두 가지 문제점이 있어요. 한 번 찾아보세요. public class ListExample { public static void main(String[] args) { List> doubleList = new ArrayList(); doubleList.add(List.of(1,2,3));.. 이전 1 2 다음