Skip to Content
Java에서 Kotlin으로
book

Java에서 Kotlin으로

by Duncan McGregor, Nat Pryce
May 2025
Beginner to intermediate
424 pages
7h 7m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Java에서 Kotlin으로

15장. 별칭을 입력하는 캡슐화된 컬렉션

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

Java에서는 클래스에서 객체 컬렉션을 캡슐화하여 변형을 제어하고 연산을 추가합니다. Kotlin에서는 변형을 제어하는 것이 덜 중요하며 확장 함수를 사용하여 연산을 추가할 수 있습니다. 캡슐화 없이 어떻게 더 나은 설계를 할 수 있으며, 어떻게 하면 그렇게 할 수 있을까요?

6장에서 컬렉션과 관련하여 Java와 Kotlin의 차이점에 대해 살펴보았습니다. Java의 컬렉션 인터페이스는 객체 지향의 뿌리에 따라 기본적으로 변경 가능한 반면, Kotlin은 컬렉션을 값 유형으로 취급합니다. 앞서 살펴본 것처럼 공유 컬렉션을 변경하면 모든 종류의 문제에 직면할 수 있습니다. 공유 컬렉션을 변경하지 않으면("공유 컬렉션 변경 금지") 이러한 문제를 피할 있지만, Java에서는 addset 메서드가 자동 완성되기 때문에 그렇게 하기 어렵습니다. 대부분의 Java 코드는 관습과 규율 대신 원시 컬렉션을 공유하지 않는 더 안전한 방식을 현명하게 선택합니다. 대신 컬렉션은 다른 객체 안에 숨겨집니다.

예를 들어 트래블러의 Route 입니다:

public class Route {
    private final List<Journey> journeys; 1

    public Route(List<Journey> journeys) {
        this.journeys = journeys; 2
    }

    public int size() { 3
        return journeys.size();
    }

    public Journey get(int index) { 3
        return journeys.get(index);
    }

    public Location getDepartsFrom() { 4
        return get(0).getDepartsFrom();
    }

    public Location getArrivesAt() { 
        return ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

코드 밖 커뮤니케이션

코드 밖 커뮤니케이션

재퀴 리드
실리콘밸리 리더십

실리콘밸리 리더십

김정혜, 마이클 롭

Publisher Resources

ISBN: 9798341656055Supplemental Content