강의

멘토링

커뮤니티

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,834 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 also need to know the JVM well to become a competitive developer!


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

📺 Part 2 course applicants, please be sure to watch! 📺

이 강의를 제대로 끝낸다면 [[BR]][[SPAN_1]][[STRONG_2]]전공자에 비견할 수 있는 높은 이해[[/STRONG_2]][[/SPAN_1]][[STRONG_3]]를 바탕으로 [[/STRONG_3]][[BR]][[SPAN_4]][[STRONG_5]]Java[[/STRONG_5]][[/SPAN_4]][[STRONG_6]]를 활용[[/STRONG_6]] 할 수 있습니다.

Object-Oriented Programming

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

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 and an essential requirement for skilled developers that many companies demand. In such circumstances, we generously share knowledge about the JVM to help you gain competitiveness.

Basic Data Structures All at Once

The most common task 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, which are representative linear data structures.

Design Patterns

Along with Java syntax and object-oriented programming techniques, we present design principles (including some design patterns) as well. Based on this, you can grow from a coder who barely knows syntax and handles Java to a true developer.

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

Learning Target


Programming beginners who are tired of just mindlessly copying code
and feel like nothing sticks in their head


Job seekers who want to
get hired as backend developers


A 1-2 year junior developer
who learned it because it's a widely used language
but doesn't really understand the essence

Learning Roadmap 🏃🏻

The Intensive Java Series consists of a total of 4 lectures.
Appendix lectures 1 and 2 are great courses to take together for growing as a Spring backend developer 🙂

  • Part 1: Basic Grammar, Procedural Programming

  • Part 2: Object-Oriented Programming + Data Structures

  • Part 3: Writing System Utilization Programs

  • Part 4: Preparation for Moving 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. We lay the foundation to become competent developers who can master programming language syntax and OOP while also considering system operations.

After taking this course...

  • You can understand inheritance and overriding not as grammar, but as core principles for implementing frameworks and truly master OOP.


  • You can clearly analyze problems (processing conditions) and think specifically about how to code them. 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 references and instances in your thinking, you'll be able to confidently handle NullPointerException errors.

Intensively Starting Java is
not just a Java course.

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

  • Even though this is an introductory level, you'll learn various structural theories including JVM architecture.

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

  • This will eventually bear fruit when you grow into a practical developer with incident response capabilities that are beyond what's expected of a junior developer.


2⃣
Not just abstract concepts,
but you can truly understand Hash code properly.


  • Due to Java's language characteristics, it identifies instances through reference types to classes. In the process of using these two together, the problem of equating reference variables with instances can arise, and you can properly understand what the actual nature of Hash code is, which exists to solve such problems.

3⃣
Beginner course that covers
design (design patterns)

  • Even if you know the grammar for 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 handwriting 📜

  • 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 one completed result, but also comprehensively understand the background and reasons behind the structure's creation and the overall flow of the entire process.

5⃣
The goal is differentiated competitiveness and employment 💼

  • Before learning full-scale Java programming, this course aims for employmentas its goal, which we clearly announce. And

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

  • We guide you to establish appropriate learning distribution and schedules from the beginning to avoid wasting time on wrong choices.

6⃣
Beyond grammar to secure
practical debugging skills🐞

  • Learn how to use the IntelliJ debugger in detail. Not only simple Position breakpointbut also how to use it more easily by incorporating conditional expressions.

  • Using the ObjectIDassigned by the JVM to uniquely identify each instance, you can experience practical debugging methods such as distinguishing between Deep copy and Shallow copy.

7⃣
Experience true OOP programming firsthand with
continuous practice problems provided 🛠

  • We provide various practice problems so you can immediately apply what you've learned in class.

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

Practice Environment

  • Operating System and Version (OS): Windows 11

  • Tools Used: IntelliJ IDEA 2024.2.3 (Community Edition)

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

Learning Materials

  • Class PPT materials (provided as PDF files)

  • Complete examples and essential practice problem answers (provided as 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,497

Learners

2,505

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

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

    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!