강의

멘토링

커뮤니티

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) 52 reviews

5,879 learners

Level Basic

Course period Unlimited

  • nullnull8537
Java
Java
oop
oop
jvm
jvm
data-structure
data-structure
Java
Java
oop
oop
jvm
jvm
data-structure
data-structure

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

파이팅

95% enrolled

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.

5.0

hope

36% enrolled

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.

5.0

별다방

29% enrolled

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!!

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

47,139

Learners

2,725

Reviews

1,160

Answers

4.9

Rating

25

Courses

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

Curriculum

All

77 lectures ∙ (20hr 14min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

52 reviews

5.0

52 reviews

  • ko56420270499님의 프로필 이미지
    ko56420270499

    Reviews 1

    Average Rating 5.0

    5

    95% enrolled

    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
      Instructor

      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

    Reviews 3

    Average Rating 5.0

    5

    36% enrolled

    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
      Instructor

      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

    Reviews 13

    Average Rating 4.5

    5

    29% enrolled

    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

      Reviews 2

      Average Rating 5.0

      5

      13% enrolled

      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
        Instructor

        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

      Reviews 4

      Average Rating 5.0

      Edited

      5

      100% enrolled

      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
        Instructor

        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. :)

    $51.70

    nullnull8537's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!