강의

멘토링

커뮤니티

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

5,838 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,564

Learners

2,522

Reviews

1,141

Answers

4.9

Rating

25

Courses

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

Curriculum

All

77 lectures ∙ (20hr 14min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

39 reviews

5.0

39 reviews

  • ko56420270499님의 프로필 이미지
    ko56420270499

    Reviews 1

    Average Rating 5.0

    5

    95% enrolled

    Nhờ những nguyên tắc sâu sắc mà bạn đã dạy tôi từng điều một, một lần nữa tôi nhận ra rằng thế giới không hoạt động như phép thuật. Tôi phải mất một thời gian để hoàn thành khóa học vì tôi cố gắng hiểu kỹ nội dung nhưng tôi rất hài lòng vì tôi đã học được rất nhiều từ nó. Cảm ơn

    • nullnull8537
      Instructor

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

  • heemanglee님의 프로필 이미지
    heemanglee

    Reviews 3

    Average Rating 5.0

    5

    36% enrolled

    Tôi đã học Java qua sách hoặc ở cấp độ học thuật. Trong quá trình nhìn nhận bản thân, tôi chỉ học cách sử dụng Java, nhưng tôi đang sử dụng nó mà không biết nó hoạt động như thế nào. Sau khi nghe bài giảng, tôi phát hiện ra rằng có một số điều tôi đã biết rồi, nhưng nó cũng rất hay vì nó bao gồm những điều tôi mơ hồ biết và nhiều chủ đề không thể nghe được trong các bài giảng chỉ dạy cách sử dụng Java. . Tôi đang lắng nghe kỹ những câu chuyện của Hoon và nội dung anh ấy nói về (?) vì nó khá thú vị. Có tài liệu giảng dạy nhưng dễ hiểu hơn vì chúng giải thích mọi thứ bằng bút trong thời gian thực! Hôm qua trên live bạn có nói phần 3 có thể ra mắt vào cuối tháng 12 nên mình sẽ đợi! Cảm ơn bạn vì bài giảng tuyệt vời.

    • nullnull8537
      Instructor

      May mắn thay, có vẻ như phong cách bài giảng đã đúng. Điều này có thể khiến bạn không thoải mái nhưng cảm ơn bạn đã coi đó là một trò đùa. Nếu bạn hiểu các nguyên tắc cơ bản, bạn có thể trải nghiệm mức độ hiểu biết khiến ngữ pháp thu được có vẻ tự nhiên. Tôi chân thành hy vọng và ủng hộ bạn để điều đó xảy ra. Chúng tôi cũng sẽ chuẩn bị tốt Phần 3 và phát hành nó. Cảm ơn. :)

  • dengo님의 프로필 이미지
    dengo

    Reviews 13

    Average Rating 4.5

    5

    29% enrolled

    Như mong đợi. Đặc biệt, JVM là một thế giới mới. Cảm ơn bạn đã tạo ra một khóa học tuyệt vời. Tôi bướng bỉnh và mong chờ phần 3!!

    • daalzzwi님의 프로필 이미지
      daalzzwi

      Reviews 2

      Average Rating 5.0

      5

      13% enrolled

      Hơi khó một chút nhưng tôi thích nó! Bài giảng Java đầu tiên "Tôi đang lo lắng" Mình đã đăng bài ở mục này rồi, bạn xem nhé!

      • nullnull8537
        Instructor

        Khi tôi mở một khóa học mới, tôi hồi hộp chờ đợi buổi ôn tập khóa học đầu tiên. May mắn thay, cảm ơn bạn đã đánh giá tốt. :)

    • weegoto1038님의 프로필 이미지
      weegoto1038

      Reviews 4

      Average Rating 5.0

      Edited

      5

      100% enrolled

      Tôi nhớ lại khi lần đầu tiếp xúc với Java ở trường, tôi đã làm một chương trình chat thời gian thực mà chẳng biết gì cả. Lúc đó tôi không hiểu tại sao từng dòng code lại chạy như vậy, chỉ nghĩ rằng may mắn là nó chạy được thôi Nhưng khi nghe khóa học này và nhìn lại thời gian đó, tôi mới cảm nhận được mình đã học hỏi trong bao nhiêu thử nghiệm và sai lầm. Giá như lúc đó tôi có thể nghe được khóa học này thì tốt biết mấy. Tôi đã nghe bài giảng rất thú vị, và thậm chí cảm thấy mới mẻ như thể đang học lần đầu vậy. Trước khi chuyển sang phần 3, tôi sẽ ôn tập lại một lần nữa 🫡

      • nullnull8537
        Instructor

        Vẫn còn thời gian rõ ràng. Với sự nhiệt huyết đến mức hoàn thành khóa học như thế này, tôi nghĩ bạn sẽ nhanh chóng bổ sung những điểm thiếu sót của mình. Việc thử và sai cũng là điều tôi đang trải qua. Có lẽ chúng ta sẽ không thể tránh xa việc thử và sai ngay cả khi đến cuối đời. Tuy nhiên, tôi nghĩ chỉ cần nỗ lực hết mình như thế này cũng đã đủ rồi. Nếu tiếp tục như bây giờ, chắc chắn sẽ có kết quả tốt đẹp. Tôi sẽ ủng hộ bạn. Cảm ơn bạn. :)

    $51.70

    nullnull8537's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!