강의

멘토링

커뮤니티

BEST
Programming

/

Programming Language

Solid Foundation! Java Starting Strongly - Part 2: OOP and JVM

It covers just two things properly: object-oriented programming and the JVM! Plus, it throws in linked-list-based linear data structures.

(5.0) 40 reviews

5,842 learners

  • nullnull8537
자료구조
Java
이론 실습 모두
oop
jvm
data-structure

Reviews from Early Learners

What you will gain after the course

  • Object-oriented programming techniques

  • How to use a framework created using OOP language

  • How JVM works and the reality of hashCode

  • Linear data structure based on linked list

Grammar? It's important. But before that, understanding the essence of OOP is more important.
And you need to know the JVM well to become a competitive developer!


The reason we cover up to 'JVM(Java Virtual Machine)' 🤔

📺 Everyone hoping to take Part 2, please make sure to watch this! 📺

If you complete this course properly,
based on a deep understanding comparable to that of computer science majors,
you will be able to utilize Java.

Object-Oriented Programming

Everyone talks about OOP and learns the syntax. However, many people often fail to grasp how to utilize it and in what situations to apply it. That's why I've prepared a mini project as a practical example where you can put all the syntax you've learned to use.

JVM(*Java Virtual Machine)

All programs created with Java ultimately run on the JVM. Therefore, a deep understanding of the JVM is a deep understanding of Java itself and a essential requirement for skilled developers that many companies demand. In this situation, I will generously share knowledge about the JVM so you can gain a competitive edge.

Basic Data Structures All at Once

One of the most common tasks you can do with Java is database input/output and data utilization. To do this, understanding data structures is essential. For this reason, this course includes linked lists, a representative linear data structure.

Design Patterns

In addition to Java syntax and object-oriented programming techniques, we also present design principles (including some design patterns). Based on this, you can grow from a coder who barely knows the syntax to a true developer who can handle Java.

※Wait a moment! What is JVM?
JVM (Java Virtual Machine) is a virtual computer that helps run Java programs on your computer.

Learning Target


Programming beginners who feel like
they're just tediously copying code
with nothing sticking in their heads


Job seekers who want to
get hired as backend developers


Junior developers with 1-2 years of experience
who learned a language because it's widely used
but don't really understand its essence

Learning Roadmap 🏃🏻

The "Start Java Intensively" series consists of a total of 4 courses.
Appendix 1 and 2 courses are great complementary courses to take for growing as a Spring backend developer 🙂

  • Part 1: Basic Grammar, Procedural Programming

  • Part 2: Object-Oriented Programming + Data Structures

  • Part 3: Writing System Utility Programs

  • Part 4: Preparing to Move to Spring Framework

  • Appendix 1: Understanding Web Infrastructure Technology and DB

  • Appendix 2: Advanced SQL


Part 2 covers object-oriented programming, data structures, and the JVM. In particular, the JVM is essential for those who want to become Spring framework-based Java backend developers in the field. You will lay the foundation to become a competent developer who can master programming language syntax and OOP, and think through to system operations.

After taking this course...

  • Understanding inheritance and overriding not as grammar but as the core principle for implementing frameworks, allowing you to truly master OOP.


  • You can clearly analyze the problem (processing conditions) and think concretely about how to code it. Additionally, you will develop the ability to handle various errors on your own that occur during the example creation process.


  • You can properly understand how the JVM's GC (Garbage Collector) works. Additionally, by completely separating the concepts of references and instances, you will be able to confidently handle NullPointerException errors.

Hardcore Java is
not just a Java course.

1⃣
At the beginner level,
you'll learn from the JVM structure.

  • Even at the introductory level, you'll learn various structural theories including JVM architecture.

    By doing this, you can understand the fundamental operating principlesof applications developed in Java.

  • This will eventually bear fruit as exceptional incident response capabilities that are unusual for a junior developer when you grow into a professional developer in the future.


2⃣
Not just abstract concepts,
but truly understanding Hash code properly.


  • Java identifies instances through reference types to classes due to the nature of the language. In the process of using these together, the problem of equating reference variables with instances can arise, and you can properly understand what Hash code really is, which exists to solve these problems.

3⃣
An introductory course that covers
design (design patterns)

  • Even if you know the syntax of classes, you cannot say you have properly learned Java if you don't understand OOP design and cannot properly define relationships between classes.

  • This course has applied some design patternsto the examples used in class to help you easily overcome such problems.

4⃣
Organized Educational Materials and Notes 📜

  • All class content is based on PPT materials, but the explanations flow as if writing on a whiteboard.

  • Through this, students can not only see the final completed result, but alsounderstand the background and reasons behind how the structure came to beand comprehensively grasp the overall flow.

5⃣
Goal: Differentiated Competitiveness and Employment 💼

  • Before diving into full-fledged Java programming, I want to clearly state that this course aims for employmentas its goal. And

    Based on the instructor's extensive teaching experience, we present clear learning roadmaps and time requirements.

  • We guide you to establish appropriate learning distribution and schedules from the start, so you don't waste time on wrong choices.

6⃣
Beyond Grammar:
Debugging to Secure Practical Skills🐞

  • Learn how to use the IntelliJ debugger in detail. We cover not only simple Position breakpoints, but also how to use them more easily by incorporating conditional expressions.

  • You can experience practical debugging methods, such as how to distinguish between Deep copy and Shallow copy using the ObjectID, which is assigned to uniquely identify each instance in the JVM.

7⃣
Experience true OOP programming firsthand with
continuous hands-on practice problems 🛠

  • The class provides various practice problems so you can immediately apply what you've learned.

  • Experience refactoring procedurally programmed code into object-oriented code through hands-on practice, where you'll practically apply most of what you've learned in the process.

Practice Environment

  • Operating System and Version (OS): Windows 11

  • Tools Used: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC Specifications: A level that can run Windows 11 OS and IntelliJ without any issues

Learning Materials

  • Class materials used in the course (provided as PDF files)

  • Complete examples and required practice problem answers (provided as a Zip compressed file)

Prerequisites and Important Notes

Recommended for
these people

Who is this course right for?

  • Those who have completed Java: Getting Started with Java - Part 1 and are moving on to the next step

  • For those who want to know the principles of true object-oriented programming

  • Anyone who wants to know how JVM manages instances and its internal structure

  • Developers who want to experience a deep understanding of Java

Need to know before starting?

  • Java: Getting Started with Poison - Part 1

  • Become a computer science major by memorizing broadly and shallowly

Hello
This is

45,694

Learners

2,544

Reviews

1,143

Answers

4.9

Rating

25

Courses

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

Curriculum

All

77 lectures ∙ (20hr 14min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

40 reviews

5.0

40 reviews

  • 파이팅님의 프로필 이미지
    파이팅

    Reviews 1

    Average Rating 5.0

    5

    95% enrolled

    하나하나 깊이 있는 원리를 알려주신 덕분에, 다시 한번 세상은 마법처럼 돌아가는 것이 아니라는 것을 깨달았습니다. 내용을 꼼꼼히 이해하려다 보니 완강까지 시간이 조금 걸렸지만, 그만큼 얻어가는 것도 많아 매우 만족스러웠습니다. 감사합니다.

    • 널널한 개발자
      Instructor

      와우~! 강렬한 평가 고맙습니다. 개발자는 그 마법을 구현해야 할 사명을 가진 사람이라 할 수 있지 않을까 싶습니다. 멋진 의견 감사합니다. :)

  • hope님의 프로필 이미지
    hope

    Reviews 3

    Average Rating 5.0

    5

    36% enrolled

    책을 통해 자바를 학습하거나, 학수 수준에서 자바를 학습했습니다. 스스로 되돌아보는 과정에서 '자바 사용법'만 익혔지, 동작 원리는 모른채 사용하고 있더군요. 강의를 들어보니 기존에 알고 있는 내용도 있지만, 그 속에서 애매하게 알고 있었던 내용이라던지, 단순히 자바 사용법만 가르치는 강의에서는 들을 수 없는 다양한 얘기들이 포함되어 있어서 매우 좋았습니다. 훈이 얘기라던지, 팩폭(?) 해주는 내용이 은근 재밌어서 잘 듣고 있습니다. 강의 자료도 있지만, 그것보단 실시간으로 펜으로 설명해주셔서 이해가 잘됩니다! 어제 라이브에서 part3가 12월 말에 나올 수도 있다고 하셨는데 기다리고 있겠습니다! 좋은 강의 감사합니다.

    • 다행히 강의 스타일이 맞았나보네요. 어쩌면 불편했을 수 있는 부분이지만 농담으로 잘 받아주셔서 감사드립니다. 원론을 이해하면 결과적인 문법이 당연해보이는 이해의 수준을 경험할 수 있지요. 꼭 그렇게 되시기를 진심으로 바라고 응원하겠습니다. Part 3도 잘 준비해서 공개하겠습니다. 고맙습니다. :)

  • 별다방님의 프로필 이미지
    별다방

    Reviews 13

    Average Rating 4.5

    5

    29% enrolled

    역시나입니다. 특히 JVM은 신세계입니다. 좋은 강의 만들어주셔서 감사합니다. 후딱 완강하고 part3 기대하겠습니다!!

    • 다알쥐DAALZZWI님의 프로필 이미지
      다알쥐DAALZZWI

      Reviews 2

      Average Rating 5.0

      5

      13% enrolled

      조금 어려워졌지만 좋아요! 자바 1탄 강의 "고민있어요" 섹션에 글 올렸는데 확인 부탁드려요!

      • 새 강의를 오픈하면 아무래도 첫 수강평을 떨리는 마음으로 기대리게 됩니다. 다행히 좋은 평가 주셔서 고맙습니다. :)

    • weegoto님의 프로필 이미지
      weegoto

      Reviews 4

      Average Rating 5.0

      Edited

      5

      100% enrolled

      처음 학교에서 자바를 접했을 때는 아무것도 모른 채로 실시간 채팅 프로그램을 만들던 기억이 납니다. 그땐 코드 한 줄 한 줄이 왜 그렇게 돌아가는지도 모르고, 그저 돌아가면 다행이라 생각했었는데 이번 수업을 들으며 그때를 돌아보니, 얼마나 시행착오 속에서 배우고 있었는지 새삼 느꼈습니다. 그때 저에게 이 수업을 들려줄 수 있었다면 얼마나 좋았을까 싶습니다. 강의 정말 재미있게 들었고, 처음 배우는 것처럼 오히려 새롭게 느껴지기도 했습니다. 파트 3로 넘어가기 전, 한 번 더 되짚으며 복습해보겠습니다 🫡

      • 아직 시간이 분명히 있습니다. 지금 이렇게 완강하실 정도의 열정이라면 빠르게 자신의 부족한 점을 채워 나아가실 것 같습니다. 시행착오는 지금의 저도 겪고 있습니다. 어쩌면 우리는 생의 끝자락에 가서도 시행착오와 멀어지지 못할 수도 있겠지요. 그러나 이렇게 열심히 노력하는 것으로도 충분하지 않나 생각해봅니다. 지금처럼 계속 해나가시면 분명히 좋은 결과도 따를 것이고요. 제가 응원하겠습니다. 고맙습니다. :)

    $51.70

    nullnull8537's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!