강의

멘토링

로드맵

BEST
개발 · 프로그래밍

/

프로그래밍 언어

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

딱 두 가지를 '제대로' 다룹니다. 바로 객체지향 프로그래밍과 JVM! 거기에 연결 리스트 기반 선형 자료구조도 덤으로 드립니다.

(5.0) 수강평 36개

수강생 939명

자료구조
Java
이론 실습 모두
객체지향jvmdata-structure

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 객체지향 프로그래밍 기법

  • OOP언어를 이용해 만들어진 프레임워크를 활용하는 방법

  • JVM의 작동원리와 hashCode의 실체

  • 연결 리스트 기반의 선형 자료구조

문법이요? 중요합니다. 하지만 그 전에 OOP의 본질을 아는 것이 더 중요합니다.
그리고 JVM에 대해서도 잘 알아야 경쟁력 있는 개발자가 될 수 있습니다!


'JVM(Java Virtual Machine)'까지'
다루는 이유 🤔

📺 Part 2 수강희망자 여러분 꼭 시청해주세요! 📺

이 강의를 제대로 끝낸다면
전공자에 비견할 수 있는 높은 이해를 바탕으로
Java를 활용 할 수 있습니다.

객체지향 프로그래밍

다들 OOP에 대해 이야기하고 문법을 배웁니다. 그러나 정작 어떻게 활용하고 어떤 상황에 적용해야 하는 것인지 감을 잡지 못하는 경우가 많습니다. 그래서 배운 문법을 몽땅 써먹을 수 있는 미니 프로젝트를 실습 예제로 준비했습니다.

JVM(*Java Virtual Machine)

Java로 만든 모든 프로그램은 결국 JVM에서 실행됩니다. 결국 JVM에 대한 깊은 이해는 Java대한 깊은 이해이자 많은 기업이 요구하는 실력있는 개발자의 필수 조건입니다. 그런 상황에서 경쟁력을 갖출 수 있도록 JVM에 대해 아낌없이 알려드립니다.

기본 자료구조까지 한 번에

Java로 할 수 있는 것 중 가장 흔한 일이 DB 입/출력 및 데이터 활용입니다. 그러려면 자료구조에 대한 이해는 필수라 할 수 있습니다. 그런 이유로 이 강의에 대표적 선형 자료구조인 연결 리스트를 포함시켰습니다.

디자인 패턴

Java 문법 및 객체지향 프로그래밍 기법과 더불어 설계 원칙(디자인 패턴 일부)까지 제시합니다. 이를 바탕으로 겨우 문법만 알고 Java를 다루는 코더가 아닌 진정한 개발자로 성장 할 수 있습니다.

※여기서 잠깐! JVM이란?
JVM(Java Virtual Machine)은 자바 프로그램을 컴퓨터에서 실행할 수 있도록 도와주는 가상의 컴퓨터입니다.

학습 대상


코드만 지겹게 따라 치고
머리 속에 남는 게 없다고 느껴본 프로그래밍 입문자


백엔드 개발자로
취업하고 싶은 취업 준비생


많이 쓰는 언어라고 해서
배웠지만 본질을 잘 모르는
1~2년차 주니어 개발자

학습 로드맵 🏃🏻

독하게 시작하는 Java 시리즈는 총 4개 강의로 이루어집니다.
부록 1,2 강의는 Spring 백엔드 개발자로 성장하기 위해 함께 들으면 좋은 강의입니다 🙂

  • Part 1 : 기초적인 문법, 절차적 프로그래밍

  • Part 2 : 객체지향 프로그래밍 + 자료구조

  • Part 3 : 시스템 활용 프로그램 작성

  • Part 4 : Spring Framework으로 넘어가기 위한 준비

  • 별도 1 : 웹 인프라 기술에 대한 이해와 DB

  • 별도 2 : SQL 고급


Part 2는 객체지향 프로그래밍과 자료구조 그리고 JVM에 대해 배웁니다. 특히 JVM은 Spring framework 기반 Java 백엔드 실무 개발자가 되려는 분들에게 필수적인 것입니다. 프로그래밍 언어의 문법과 OOP를 구사하고 시스템 운영까지 생각 할 수 있는 역량 있는 개발자가 되기 위한 초석을 다집니다.

이 강의를 듣고 나면...

  • 상속과 재정의를 문법으로 이해하는 것이 아니라 프레임워크를 구현하는 핵심원리로 이해하고 정말 제대로 OOP를 구사 할 수 있습니다.


  • 문제(처리조건)을 명확히 분석하고 어떤 형태로 코드화 할 것인지 구체적으로 생각 할 수 있습니다. 또한 예제 작성 과정에서 발생하는 각종 오류에 스스로 대응 할 수 있는 실력이 생깁니다.


  • JVM의 GC(Garbage collector)가 어떤 원리로 작동하는지 제대로 이해할 수 있습니다. 또한 참조자와 인스턴스를 완벽히 분리해 생각 함으로써 NullPointerException 오류에 확실하게 대응 할 수 있게 됩니다.

독하게 시작하는 Java는
그냥 Java 강의가 아닙니다.

1⃣
입문 단계에서
JVM 구조부터 배웁니다.

  • 입문 단계임에도 JVM 구조를 비롯해 각종 구조적인 이론들을 함께 배웁니다.

    이렇게 함으로써 Java로 개발한 응용 프로그램의 근본적인 작동원리를 이해 할 수 있습니다.

  • 이는 결국 훗날 실무 개발자로 성장했을 때 신입 답지 않은 장애대응능력으로 결실을 맺을 것입니다.


2⃣
추상적 개념이 아니라
정말 제대로 Hash code를 이해 할 수 있습니다.


  • Java는 언어의 특성상 클래스에 대한 참조형으로 인스턴스를 식별합니다. 이 둘을 함께 사용하는 과정에서 참조형 변수를 인스턴스로 동일시 하는 문제가 생길 수 있는데 이러한 문제를 해결하기 위해 존재하는 Hash code의 실체가 무엇인지 제대로 알 수 있습니다.

3⃣
설계(디자인 패턴)까지 다루는
입문 강의

  • class에 대한 문법을 알고 있다고 하더라도 OOP적 설계를 이해하고 클래스간 관계를 제대로 정의하지 못한다면 Java 제대로 배웠다고 할 수 없을 것입니다.

  • 이 강의는 그러한 문제를 쉽게 극복 할 수 있도록수업에 사용된 예제에 디자인 패턴을 일부 적용하였습니다.

4⃣
정리된 교육 자료와 판서 📜

  • 모든 수업 내용은 PPT자료를 기반으로 하지만 마치 화이트보드에 판서를 하는 것처럼 설명이 이어집니다.

  • 이를 통해 수강자는 완성된 하나의 결과만 보는 것이 아니라 구조가 탄생하게 된 배경과 이유 전반에 대한 흐름을 종합적으로 이해 할 수 있습니다.

5⃣
목표는 차별화된 경쟁력과 취업 💼

  • 본격적인 Java 프로그래밍을 배우기에 앞서 본 수업이 취업을 목표로 하고 있음을 명확히 알립니다. 그리고

    강사의 오랜 강의 경험을 근거로 명확한 학습로드맵과 소요시간을 제시합니다.

  • 잘못된 선택으로 시간을 낭비하는 일이 없도록 처음부터 적절한 학습 배분 및 일정을 수립하도록 유도합니다.

6⃣
문법을 넘어 실질적 능력을
확보하기 위한 디버깅🐞

  • IntelliJ 디버거 사용방법을 구체적으로 배웁니다. 단순 Position breakpoint는 물론이고 조건식을 반영해 더욱 손쉽게 활용하는 방법도 다룹니다.

  • JVM에서 각 인스턴스들을 유일하게 식별 할 목적으로 부여된 ObjectID를 이용해 Deep copy와 Shallow copy를 구별하는 방법 등 실질적인디버깅 방법을 경험할 수 있습니다.

7⃣
진정한 OOP 프로그래밍을 직접 경험할 수 있는
이어지는 실습문제 제공 🛠

  • 수업에 배운 내용을 즉시 활용해 볼 수 있도록 다양한 실습문제를 제공합니다.

  • 절차적 프로그래밍 기법으로 제작된 코드를 객체지향적으로 리팩토링하는 과정을 실습으로 직접 경험하며 이 과정에서 학습한 내용 대부분을 실제로 활용합니다.

실습 환경

  • 운영 체제 및 버전(OS): Windows 11

  • 사용 도구: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC 사양: Windows 11 OS 및 IntelliJ가 무리 없이 작동 할 수 있는 수준

학습 자료

  • 수업에 사용된 PPT자료 (PDF파일로 제공)

  • 전체 예제 및 필수실습 문제 정답(Zip 압축 파일로 제공)

선수 지식 및 유의사항

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 독하게 시작하는 Java - Part 1을 끝내고 다음 단계로 넘어가는 분

  • 진정한 객체지향 프로그래밍의 원리를 알고 싶은 분

  • JVM이 인스턴스를 관리하는 방법 및 내부 구조에 대해 알고 싶은 분

  • Java에 대한 깊은 이해를 경험하고 싶은 개발자

선수 지식,
필요할까요?

  • 독하게 시작하는 Java - Part 1

  • 넓고 얕게 외워서 컴공 전공자 되기

안녕하세요
입니다.

38,944

수강생

2,318

수강평

1,125

답변

4.9

강의 평점

25

강의

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

커리큘럼

전체

77개 ∙ (20시간 14분)

해당 강의에서 제공:

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

수강평

전체

36개

5.0

36개의 수강평

  • ko56420270499님의 프로필 이미지
    ko56420270499

    수강평 1

    평균 평점 5.0

    5

    95% 수강 후 작성

    Thanks to the deep principles that were taught one by one, I realized once again that the world does not work like magic. It took me a while to complete the course because I tried to understand the content thoroughly, but I gained a lot from it, so I was very satisfied. Thank you.

    • nullnull8537
      지식공유자

      Wow~! Thank you for the strong review. I think the developer is someone who has a mission to implement that magic. Thank you for the great comment. :)

  • heemanglee님의 프로필 이미지
    heemanglee

    수강평 3

    평균 평점 5.0

    5

    36% 수강 후 작성

    I learned Java through books or at the academic level. In the process of reflecting on myself, I only learned 'how to use Java', but I was using it without knowing how it works. When I listened to the lecture, there were things I already knew, but there were also things I vaguely knew, and various stories that I couldn't hear in lectures that simply teach how to use Java, so it was very good. The stories Hoon tells and the content that he gives in a detailed way are secretly fun, so I listen carefully. There are lecture materials, but it's better to understand it because he explains it in real time with a pen! You said during yesterday's live broadcast that part 3 might come out at the end of December, so I'll wait! Thank you for the great lecture.

    • nullnull8537
      지식공유자

      Fortunately, the lecture style was right for me. It may have been uncomfortable, but I appreciate that you took it as a joke. If you understand the basics, you will experience a level of understanding where the resulting grammar seems natural. I sincerely hope and support that you will be able to do so. I will also prepare Part 3 well and release it. Thank you. :)

  • dengo님의 프로필 이미지
    dengo

    수강평 13

    평균 평점 4.5

    5

    29% 수강 후 작성

    As expected. Especially JVM is a new world. Thank you for making a great lecture. I'll finish it quickly and look forward to part 3!!

    • daalzzwi님의 프로필 이미지
      daalzzwi

      수강평 2

      평균 평점 5.0

      5

      13% 수강 후 작성

      It's a little difficult, but I like it! I posted a post in the "I have a concern" section of the Java 1 lecture, so please check it out!

      • nullnull8537
        지식공유자

        When I open a new course, I always look forward to the first class review with a nervous heart. Thank you for your positive review. :)

    • weegoto1038님의 프로필 이미지
      weegoto1038

      수강평 3

      평균 평점 5.0

      수정됨

      5

      100% 수강 후 작성

      I remember when I first encountered Java at school, I was making a real-time chat program without knowing anything at all. Back then, I didn't even understand why each line of code worked the way it did, and I just thought I was lucky if it ran at all. But taking this class and looking back on that time, I realized how much I was learning through trial and error. I wish I could have taken this class back then. The lecture was really enjoyable, and it even felt refreshingly new, as if I were learning it for the first time. Before moving on to Part 3, I'll review and go over it once more 🫡

      • nullnull8537
        지식공유자

        There is definitely still time. With the kind of passion that drives you to complete courses like this, I believe you'll quickly fill in your knowledge gaps. I'm still experiencing trial and error myself. Perhaps we might never fully escape trial and error, even at the end of our lives. But I think working hard like this is enough in itself. If you keep going as you are now, good results will surely follow. I'll be cheering you on. Thank you. :)

    ₩66,000

    널널한 개발자님의 다른 강의

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

    비슷한 강의

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