JVM 기본 이론 널널한 개발자님의 독하게 시작하는 Java Part 2에서 Java와 C++의 메모리 관리 차이, JVM의 구성 요소와 클래스 로딩 과정, 런타임 데이터 영역의 구조, 가비지 컬렉션의 동작 원리를 학습하며 JVM 내부 메커니즘을 정리함 Java와 C++의 메모리 관리 차이 C++ 메모리 관리 객체에 대한 모든 ...
[독하게 시작하는 Java Part 2] 다형성
다형성 널널한 개발자님의 독하게 시작하는 Java Part 2에서 다형성의 개념과 클래스 형변환(업캐스팅, 다운캐스팅), 추상 클래스와 인터페이스의 차이점, 열거형을 활용한 심볼릭 상수 정의 방법을 학습하며 객체 지향 프로그래밍의 원리를 정리함 다형성 다형성의 개념 정의 같은 종의 생물이지만 형태나 형질이 다...
[독하게 시작하는 Java Part 2] 상속과 관계
상속과 관계 널널한 개발자님의 독하게 시작하는 Java Part 2에서 상속의 기본 개념과 extends 키워드 사용법, 생성자 호출 스택과 super 키워드의 역할, 메서드 재정의와 프레임워크 패턴 구현 방법, 클래스 간의 관계를 UML로 표현하는 방법, 정적 바인딩과 동적 바인딩의 차이를 학습하며 객체 지향 프로그래밍의 상속 개념을 정리함 ...
[독하게 시작하는 Java Part 2] 클래스2
클래스 널널한 개발자님의 독하게 시작하는 Java Part 2에서 생성자 다중 정의와 this() 활용법, 객체 복사 방식(얕은 복사, 깊은 복사)의 차이와 복사 생성자 구현 방법, 정적 멤버의 특성과 메모리 구조, 인스턴스 생성 통제 기법을 학습하며 클래스의 개념을 정리함 생성자 다중 정의 개념 일반 메서드와 마찬가지로 매개변...
[독하게 시작하는 Java Part 2] 클래스1
클래스 널널한 개발자님의 독하게 시작하는 Java Part 2에서 Java 클래스의 구조, 객체와 인스턴스의 개념, 접근 제어와 캡슐화, 그리고 JVM 메모리 구조를 학습하며 객체 지향 프로그래밍의 핵심 원리를 정리함 Java 프로그램의 논리적 계층 구조 가장 작은 단위부터 최상위까지 항(Term) ...
Kotlin의 Null Safety
개요 Kotlin의 타입 시스템에 내장된 Null Safety 메커니즘을 통해 NullPointerException을 컴파일 타임에 방지함 Safe Call(?.)과 Elvis Operator(?:)의 동작 원리 및 다른 언어들과의 비교를 학습함 Java 상호운용 시 주의사항과 Zero-Cost Abstraction의 의미를 이해함 ...
[김영한의 실전 자바 기본편] 다형성과 설계
다형성과 설계 김영한님의 실전 자바 강의 중 다형성과 설계 챕터를 학습하며 OCP(개방-폐쇄 원칙)와 전략 패턴을 활용한 설계 방법을 정리함 좋은 객체 지향 설계 객체 지향의 본질 객체들의 협력 프로그램을 독립적인 객체들의 협력으로 봄 각 객체는 메시지를 주고받으며 데이터를 처리함 ...
[김영한의 실전 자바 기본편] 다형성 2
다형성 김영한님의 실전 자바 강의 중 다형성 2 챕터를 학습하며 추상 클래스와 인터페이스를 활용한 다형성 구현 방법의 발전 과정과 설계 원칙을 정리함 다형성 구현의 발전 문제와 해결 과정 문제 타입이 다른 객체들을 하나로 묶어서 처리해야 함 배열과 반복문으로 통합 처리가 필요함 ...
[김영한의 실전 자바 기본편] 다형성 1
다형성 1 김영한님의 실전 자바 강의 중 다형성 1 챕터를 학습하며 다형성이 필요한 이유, 다형적 참조, 캐스팅, instanceof, 메서드 오버라이딩의 동작 원리를 정리함 다형성이 필요한 이유 타입이 다른 객체를 처리하는 문제 문제 상황 프로그램에서 여러 종류의 객체를 처리해야 하는 경우가 많음...
[김영한의 실전 자바 기본편] 상속
상속 김영한님의 실전 자바 강의 중 상속 챕터를 학습하며 상속의 개념, 메모리 구조, 메서드 오버라이딩, super 키워드, 접근 제어자의 동작 원리를 정리함 상속이란? 상속은 기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하는 것을 말함 부모 클래스 (Super Class) 상속을 통...