강의

멘토링

커뮤니티

NEW
개발 · 프로그래밍

/

웹 개발

[Java 실무 프로젝트 UI편] Spring Core + JavaFX 기반 영화 정보 애플리케이션 제작

[Java 실무 프로젝트 UI편]에서는 JavaFX를 활용해 순수 Java 기술만으로 동작하는 영화 정보 제공 애플리케이션을 만들어봅니다. 이 강의는 웹과 스마트 폰 앱으로 넘어가기 전, UI 이벤트 처리·비동기 로직·사용자 인터랙션 흐름을 Java로 직접 구현하며 ‘화면과 로직이 연결되는 구조’를 깊이 이해하도록 설계되었습니다. Spring Core와 연동해 비즈니스 로직과 UI를 분리하는 구조적 사고를 훈련하고, 외부 API로 영화 정보를 가져오는 과정에서 발생할 수 있는 UI 성능 저하 문제를 비동기 처리로 해결하는 방법을 이해할 수 있게됩니다. 이를 통해 데이터 흐름, 이벤트 리스너, 스레드 기반 비동기 처리의 원리를 명확히 이해하고, Java 언어 자체에 대한 이해를 한 단계 끌어올릴 수 있습니다. 즉, 이 강의는 “웹으로 가기 전, Java로 UI의 본질과 비동기 처리의 핵심을 경험하는 실전 단계”입니다. 코드를 따라치는 수업이 아닌, UI와 로직의 연결 원리를 스스로 체득할 수 있는 학습 경험을 얻을 수 있다는 사실을 잊지마세요.

1명 이 수강하고 있어요.

난이도 초급

수강기한 무제한

  • Kevin
프로젝트
프로젝트
실전
실전
실습 중심
실습 중심
문제해결
문제해결
프로젝트
프로젝트
실전
실전
실습 중심
실습 중심
문제해결
문제해결

수강 후 이런걸 얻을 수 있어요

  • Java의 인터페이스와 추상 클래스를 복합적으로 이용해 중복된 코드를 제거하는 방법

  • HTTP 통신 클라이언트와 Adapter 그리고 Factory를 조합한 HTTP 서비스를 추상화하는 방법

  • 외부 영화 정보 API를 활용해 JavaFX UI와 비즈니스 로직을 연결하는 방법

  • UI 이벤트 처리, 화면 갱신, 사용자 입력 흐름을 설계하고 구현하는 능력

  • 비동기 호출(Thread, CompletableFuture, Task, Platform.runLater 등)을 이용해 UI 성능을 향상시키는 방법

  • Spring Core 환경에서 JavaFX UI 계층을 연동하는 방법

  • MVC(Model-View-Controller) 패턴을 JavaFX 환경에서 적용하는 방법

  • FXML 기반 UI 설계와 Controller 코드의 역할 분리

  • JavaFX 애플리케이션 아키텍처를 통해 웹 UI 개발로 확장 가능한 사고 훈련

  • 웹으로 이어지는 핵심 개념(이벤트 루프, 비동기 흐름, 상태 관리)을 Java UI로 익히기

⭐ [Java 실무 프로젝트 UI편] Spring Core + JavaFX 기반 영화 정보 애플리케이션 제작

“Java로 직접 UI 애플리케이션을 구현해 보며, 외부 API 연동과 비동기 프로그래밍을 이용한 UI 최적화까지 한 번에 익히는 실전 프로젝트!”


이번 강의는 Java와 Spring Core, 그리고 JavaFX를 활용해 영화 정보 제공을 위한 데스크탑 애플리케이션을 직접 구현해 보는 실전형 프로젝트 강의입니다.


웹이나 모바일 UI로 넘어가기 전에, Java만으로 UI 흐름과 이벤트 처리, 비동기 구조, API 기반 화면 렌더링을 경험할 수 있도록 설계되었습니다.

JavaFX 스킬을 깊게 익히는 것이 목적이 아니라, Java 개발자로서 UI 기술로 확장하기 위한 핵심 개념과 실전 구현 능력을 빠르게 끌어올리는 것이 이 강의의 목표입니다.


2부에서 도메인 중심의 콘솔용 주문 시스템을 구현해 보았다면, 이번 3부에서는 외부 API 연동, 화면 전환, 이미지 로딩 최적화, 비동기 처리 같은 UI 애플리케이션의 본질을 직접 체득하게 됩니다.

이 강의에서는 Spring Core와 JavaFX를 이용해 나만의 영화 정보 제공을 위한 데스크탑 애플리케이션을 구현해 볼 수 있어요.

⭐ Java 미니 프로젝트 3부는 왜 JavaFX를 사용할까?

JavaFX는 실무에서 널리 쓰이지 않습니다.
그럼에도 불구하고 이번 강의에서 JavaFX를 선택한 이유는 명확합니다.


👉 “Java 개발자로 입문하는 단계에서 웹 및 모바일 UI 기술까지 한 번에 배우는 것은 비효율적이다.”


React, Vue.js, Next.js 같은 프론트엔드 프레임워크는
러닝 커브가 높고, Java 개발자가 Java를 학습하면서 동시에 배우기에는 부담이 큽니다.

그렇다고 웹 UI 쪽의 흐름에 대한 경험이 없다면 반쪽짜리 Java 개발자로 성장할 가능성이 높습니다.

JavaFX는 Java 개발자로 입문하는 단계에서 이러한 UI쪽 흐름을 학습할 수 있는 최고의 기술이라고 생각합니다.


✔ UI 구조 설계의 핵심을 Java로 익힌다

  • 화면 전환 구조

  • 이벤트 핸들링

  • 비동기 처리

  • 상태 관리

  • 화면 그리기(Rendering) 흐름

이 모든 것은 웹 UI에서도 똑같이 사용됩니다.
기술만 다를 뿐, “개념”은 그대로입니다.


외부 API 기반 UI 개발 시 발생하는 문제를 직접 해결해 본다

외부 API 통신을 통해 전달받은 응답 데이터를 실제 UI에 반영하는 실 서비스 시나리오를 경험합니다.


✔ 불편한 기술을 최적화하는 과정에서 성장한다

JavaFX는 웹에서 사용하는 최신 UI 프레임워크 만큼 편하지도 않고, 성능 또한 뛰어나지 않습니다.
그렇기 때문에 오히려
“왜 UI는 비동기가 중요할까?”
“왜 이미지 로딩을 스레드로 분리해야 할까?”


등의 이런 본질적인 부분을 깊게 이해하게 됩니다.

이것이 바로 Java 미니 프로젝트 3부를 제작하게 된 핵심 이유입니다.

🎁 최종적으로 어떤 역량을 가지게 될까?

  • ⭐ Java의 인터페이스와 추상 클래스를 복합적으로 이용해 중복된 코드를 제거하는 공통화 기법을 익히게 됩니다.

  • ⭐ CompletableFuture 등을 이용해 UI에서 비동기 처리가 필요한 이유와 방법을 이해하게 됩니다.

  • 웹 UI 기술을 배우기 전에 “UI란 무엇인가?”를 Java로 먼저 이해하게 됩니다.

  • JavaFX로 UI를 완성하면 React, Android UI, HTML/CSS/JS 등 다른 UI 기술로 확장하기 훨씬 쉬워집니다.

  • Spring Core + UI 조합의 전체적인 응용 흐름을 경험하며 실전 개발자로의 다음 레벨로 올라설 수 있습니다.


🧱 강의 특징

  • 프로젝트 기반 실습 중심:
    단순 따라하기가 아니라, 주어진 요구사항에 따라 수강생이 먼저 고민하고 구현해 보는 실습 중심 구성입니다.

  • 사전 학습 → 직접 구현 → 구현 설명 방식으로 진행:
    강의에서 필요한 기술이 있으면 별도 수업으로 개념을 먼저 짚고,
    수강생이 먼저 구현한 뒤, 강사 버전의 코드와 설명으로 비교 학습합니다.

  • 실무 지향 설계:
    요구사항 분석부터 구조화, 구현, 테스트까지의 전 과정을 실무 흐름에 맞게 경험할 수 있도록 구성했습니다.

🧰 사용 기술 스택

  • Java 17+

  • Spring Framework Core

  • JavaFX 21


  • JUnit 테스트 프레임워크


  • 레이어드 아키텍처 구조

👨‍🏫 이런 분들께 추천드려요

✔ Java 문법과 Spring Core를 학습했지만

UI가 있는 애플리케이션을 직접 만들어본 경험이 없는 분


✔ 프런트엔드 기술로 넘어가기 전에

UI 구조와 이벤트 흐름을 Java로 먼저 체득하고 싶은 분


✔ UI 애플리케이션에서 비동기 처리가 왜 중요한지 알고 싶은 분


✔ API 기반의 실제 UI 애플리케이션을 만들며

프로젝트 구현 역량을 끌어올리고 싶은 Java 개발자


✔ Java 미니 프로젝트 2까지 학습하고

더 “사용자 친화적인” 애플리케이션을 만들어보고 싶은 분

❤️ 강사의 진심

이 강의는 단순히 ‘코드 따라치기’에서 벗어나, 애플리케이션을 직접 설계하고 구현하면서 나만의 애플리케이션을 완성하는 경험을 드리기 위해 준비했습니다.

아무리 좋은 기술이라도 나 스스로 고민하며 활용할 수 없다면 '화려한 불꽃 축제를 넋을 잃고 바라만 볼뿐 감동적인 그 느낌을 밖으로 표현할 수 없는것'과 같다고 생각해요.


코드를 쳐다만 보고 있는게 아니라 실무에서 여러분들 스스로 ‘코드를 짤 수 있는 사람’이 되기 위한 첫걸음이 될 수 있도록 끝까지 도와드릴게요.

Java 개발자가 되기 위한 꿈을 포기하지 마시고, 마지막까지 최선을 다해 꼭 개발자로 입문할 수 있길 기원하겠습니다!

✅ 궁금한 점이 있나요?

Q. 1부, 2부 강의를 수강하지 않았는데 이 강의만 들어도 괜찮을까요?

가능합니다.

다만 1부, 2부의 콘솔 환경과 다르게 UI/UX 기술이 포함되어 있고, Java의 동시성과 관련된 내용들이 다수 포함되어 있기 때문에 Java의 Thread를 미리 학습하시면 좋을 것 같습니다.

Q. JavaFx를 얼마나 알아야 이번 강의의 프로젝트 수행이 가능할까요?

이번 강의에서는 JavaFX를 이용해서 아주 복잡한 UI를 구현하는건 아닙니다.

따라서 JavaFX의 기본적인 사용 방법만 학습한다면 UI 부분은 충분히 따라올 수 있을거라고 생각해요.

Q. JavaFX는 실제 개발 현장에서는 사용하지 않는다고 하셨는데 왜 UI 기술로 JavaFX를 사용하나요?
오로지 Java라는 언어의 기본기에 집중해서 Java의 역량을 향상시키는데 포커스를 맞추었기 때문인데요.

이 강의를 처음 제작할 때의 목표도 'Java라는 가장 중요한 언어에 대한 기본 역량을 탄탄하게 만들 수 있도록 도와주기' 였는데 개발 패러다임이 급격하게 변하고 있는 현재에도(AI 도구를 사용하는 개발 패러다임으로..) 객체지향의 원조 언어라고 할 수 있는 Java의 기본기가 더 탄탄해야 된다고 생각해서 UI 쪽의 다른 기술이나 언어는 배제를 했습니다.

JavaFX를 사용해 봄으로써 UI의 개발 패턴을 경험할 수 있고, 동시에 Java만을 사용하기 때문에 Java 기본 역량을 더 탄탄하게 만들 수 있다고 생각합니다. ^^

Q. 이 프로젝트를 수행하는데 AI를 이용해서 수행해도 될까요?
AI를 활용해서 애플리케이션을 제작하는 방식은 기업에서도 이제는 자연스럽게 받아들이고 있는 방식이기 때문에 ChatGPT나 제미나이 같은 AI를 이용하지 않는 게 오히려 이상하지 않을까 싶습니다.

다만, 강의에 나와있는 요구사항 문서를 기반으로 AI에게 "이렇게 만들어줘"라고 요구하는 건 여전히 바람직한 방향이 아니라고 생각합니다.

이 강의를 수강하시려는 분들은 입문 또는 초급에 가까운 분들이 대부분이라고 생각되는데 프로그래밍을 통해 내 사고와 구현 역량에 아직 자신이 없는 상태에서 AI에게 너무 많이 의존한다면 오히려 내 역량을 갉아먹는 상황에 맞닥뜨릴 수도 있다고 생각해요.

💡수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS)

    • PC 환경의 OS라면 어떤 OS든 상관 없습니다.

    • 다만 JDK 17 이상이 설치 가능해야하며, IntelliJ IDE가 실습을 진행하는데 무리 없을 정도의 컴퓨팅 파워(CPU, 메모리 등)를 갖추는 것이 좋습니다.

  • 사용 도구

    • JDK 17(최소 사양)

    • JavaFx 2.1 이상

    • IntelliJ IDE

      • 강의에서 사용하는 IntelliJ IDE는 Ultimate 버전이지만 무료 버전인 Community 버전을 사용하셔도 전혀 문제가 되지 않습니다.

      • IntelliJ IDE가 아니더라도 잘 다루는 코드 편집 툴(Visual Studio Code 등)이 있다면 사용하셔도 무방합니다.

    • Spring Boot 3.x 이상

      • 강의에서는 Spring Boot 3.5.7 버전을 사용하고 있으며 Spring 3.x 버전이면 강의를 수강하는데 문제없습니다.


    • Gradle 7.3(최소 사양) 이상

      • JDK 17에 호환되는 Gralde 버전이 7.3이기 때문에 둘 사이의 버전을 맞추어 두었습니다.

      • 버전 호환성 때문에 문제가 발생한다면 Java Compatibility를 참고하셔서 가급적 버전을 맞춰주시면 좋을 것 같습니다.

    • JUnit 5(최소 사양) 이상

🎓 학습 자료

유의사항

  • 강의에서 사용되는 학습 자료 및 코드를 블로그 등 개인 공간에서 사용하시려면 강의 제목 및 강사 이름을 기재하시고 강의 링크를 추가해 주셔야 합니다. 그 외에 무단 배포는 허용되지 않으니 양해 부탁드릴게요.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Java 문법과 기본 문법을 익혔지만, UI 이벤트 흐름과 비동기 처리 경험이 부족한 분

  • Java 문법과 Spring Core를 학습했지만 UI가 있는 애플리케이션을 직접 만들어본 경험이 없는 분

  • 웹 개발에 앞서 UI 동작 원리와 사용자 인터랙션 구조를 Java로 이해해보고 싶은 분

  • JavaFX를 통해 데스크톱 UI 개발을 경험하며, 프론트엔드 감각을 익히고 싶은 분

  • Spring Core를 학습했지만 UI 계층과 비즈니스 로직의 연결 구조를 연습해보고 싶은 분

  • 2부(푸드트럭 키오스크) 강의를 수강하고 UI 환경으로 확장된 실전 프로젝트를 만들어보고 싶은 분

  • 비동기 프로그래밍을 Java 코드로 직접 체험해보고 싶은 분

  • 향후 웹 프론트엔드나 Java 개발자로 진입하기 전, UI·UX 흐름의 본질을 이해하고 싶은 분

  • API 기반의 실제 UI 애플리케이션을 만들며 프로젝트 구현 역량을 끌어올리고 싶은 Java 개발자

선수 지식,
필요할까요?

  • Java 문법과 객체지향 프로그래밍(OOP) 기본 개념

  • Spring Core 기본 사용 경험 (Bean 등록, DI, 설정 클래스 등)

  • REST API 호출 및 JSON 데이터 처리에 대한 기본 이해

  • 스레드(Thread) 또는 비동기(Async) 처리 흐름에 대한 기초 개념

  • GUI 프로그래밍에 대한 관심

  • 2부(푸드 트럭 키오스크) 강의 수강 또는 유사한 콘솔 프로젝트 구현 경험

안녕하세요
입니다.

6,473

수강생

256

수강평

109

답변

4.8

강의 평점

8

강의

- 주력 언어 또는 기술 : Java, Spring Framework, RxJava, Reactor, Spring WebFlux

- (주)코드스테이츠(https://www.codestates.com)에서 Senior Educational Software Engineer(Backend)로 활동
(From 2022.03 To 2024.01.31)

- 프리랜서 개발자 및 강사로 활동(From 2024.02)

- 저서

안녕하세요? Kevin이라고 합니다. ^^

인프런에서 이렇게 강사로서 여러분들을 만나게 되어서 너무 반갑습니다.

어떤 분야든 마찬가지겠지만 특히나 소프트웨어 개발자는 끊임없이 변화하는 트렌드에 뒤처지지 않도록 항상 자기 자신을 갈고 닦는것이 개발자로써 살아남는 유일한 방법이라고 생각하며 항상 배우는 자세로 즐겁게 소프트웨어 개발을 하고 있는 개발자 중 한 명입니다.

제가 가지고 있는 지식과 경험이 다른 분들에게 조금이나마 도움이 되기를 바라면서 인프런에서 강좌를 시작하였습니다.

앞으로 수강생분들에게 현실적으로 도움이 되는 다양한 강좌로 꾸준히 찾아뵙도록 하겠습니다. 감사합니다.

 

질문이나 의견은 언제든지 환영하니, 이메일(it.village.host@gmail.com)로 편하게 얘기해주세요.

 

커리큘럼

전체

36개 ∙ (6시간 29분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩23,100

30%

₩33,000

Kevin님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!