불변 객체와 String 클래스 널널한 개발자님의 독하게 시작하는 Java Part 2에서 불변 객체의 필요성과 정의, 자바의 대표적인 불변 객체인 String의 내부 구조와 메모리 최적화 기법(Constant Pool), 가변 문자열 처리를 위한 StringBuilder, 그리고 기본 데이터 타입을 객체로 다루기 위한 Wrapper 클래스와 ...
[독하게 시작하는 Java Part 2] JVM과 GC 그리고 객체
JVM과 GC 그리고 객체 널널한 개발자님의 독하게 시작하는 Java Part 2에서 세대별 컬렉션 이론과 주요 GC 알고리즘(Mark-Sweep, Mark-Copy, Mark-Compact), 도달 가능성 분석, 클래식 가비지 컬렉터 종류, 객체 메모리 레이아웃 구조, Object 클래스의 주요 메서드와 동등성·동일성 개념을 학습하며 JVM의...
[독하게 시작하는 Java Part 2] JVM 기본 이론
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 챕터를 학습하며 추상 클래스와 인터페이스를 활용한 다형성 구현 방법의 발전 과정과 설계 원칙을 정리함 다형성 구현의 발전 문제와 해결 과정 문제 타입이 다른 객체들을 하나로 묶어서 처리해야 함 배열과 반복문으로 통합 처리가 필요함 ...