1. 자바 기초 다지기
자바 기초 강의를 통해 기본적인 프로그래밍 개념과 자바 언어의 중요성을 명확히 깨달을 수 있었습니다.
객체 지향 프로그래밍의 원리를 이해하고 클래스, 객체, 상속 등의 개념을 심층적으로 학습할 수 있었습니다.
강의에서는 이론적인 부분 뿐만 아니라 실습을 통해 실제 코드를 작성하고 실행하는 경험을 쌓을 수 있어서 매우 유익했습니다.
강사님은 개념을 명확하게 설명해 주셔서 자바를 처음 접하는 저의 입장에서 큰 도움이 되었습니다.
2. 객체지향 프로그래밍 시작하기
객체지향 프로그래밍의 핵심인 클래스 개념을 배우면서 현실 세계의 객체를 추상화하고 모델링하는 방법을 익혔습니다. 각 객체가 가지는 속성과 행위를 클래스로 정의하고, 이를 인스턴스화하여 사용하는 과정에서 프로그래밍의 직관성과 유연성을 체감할 수 있었습니다.
다양한 클래스를 설계하고 구현하면서 객체의 다양성과 상속, 인터페이스 등을 활용하는 방법을 익혔습니다. 각 클래스가 고유한 역할을 수행하면서도 유사한 기능을 공유할 수 있는 구조를 이해하는 데 도움이 되었습니다.
접근 제어자를 사용하여 객체의 정보 은닉과 데이터 보호를 구현하는 방법을 배웠습니다. 객체의 내부 상태를 외부에서 직접 접근하지 못하게 하고, 필요한 경우에만 제한된 접근을 허용함으로써 안전하고 유지보수 가능한 코드를 작성할 수 있었습니다.
값 객체의 중요성과 특성을 학습하면서 데이터 전송 객체(DTO)의 설계 원칙과 패턴을 이해했습니다. 객체가 단순 데이터를 가지고 있으면서도 높은 응집력을 유지하는 방법에 대해 심도 있게 고민하게 되었습니다.
배열을 활용하여 여러 객체를 관리하고 조작하는 방법을 익혔습니다. 배열을 통해 객체들을 효율적으로 저장하고 처리할 수 있는 기법을 배우며, 객체지향 프로그래밍에서 데이터 구조의 중요성을 깨달았습니다.
static 키워드의 활용 방법과 클래스 로딩, 인스턴스 생성 과정에서의 메모리 할당 및 관리 방식을 깊이 이해할 수 있었습니다. JVM 내부 동작 원리를 이해하면서 프로그램 성능 최적화와 메모리 관리에 대한 전략을 구사할 수 있는 능력을 키울 수 있었습니다.
3. Spring MVC
Spring MVC 강의를 통해 웹 애플리케이션 개발의 구조적 접근 방식을 깊이 이해하게 되었습니다.
이 프레임워크는 Model-View-Controller 아키텍처를 기반으로, 코드의 유지보수성과 확장성을 높이는 데 중점을 두고 있습니다.
강의에서는 Controller에서 클라이언트의 요청을 받아 처리하고, Service와 DAO 계층에서 비즈니스 로직과 데이터 접근을 분리하는 방법을 배웠습니다. 이를 통해 코드의 재사용성과 모듈화가 얼마나 중요한지 깨달았습니다. 또한, View 부분에서는 사용자 인터페이스를 렌더링하고 클라이언트에게 결과를 반환하는 과정에서 Thymeleaf, JSP 등의 템플릿 엔진을 사용하는 방법도 익혔습니다.
Spring의 의존성 주입(DI)과 관점 지향 프로그래밍(AOP) 기능을 활용하여 코드의 유연성과 테스트 가능성을 높이는 방법을 학습한 것도 큰 수확이었습니다. DI를 통해 객체 간의 결합도를 낮추고, AOP를 통해 횡단 관심사를 깔끔하게 분리할 수 있었습니다.
특히, Spring MVC의 강력한 애노테이션 기반 설정 덕분에 XML 설정 파일의 복잡성을 줄이고, 더욱 직관적이고 간결한 코드 작성을 할 수 있었습니다. RestController를 사용해 RESTful 웹 서비스를 구현하는 방법도 매우 유용했습니다.
이 강의를 통해 실무에서 요구되는 다양한 기술과 패턴을 습득하면서, Spring MVC를 활용한 웹 애플리케이션 개발의 효율성과 생산성을 크게 향상시킬 수 있었습니다. 또한, 학습한 내용을 바탕으로 프로젝트를 진행하면서 실무 능력을 키울 수 있는 자신감도 얻었습니다. Spring MVC는 앞으로의 웹 개발에 있어서 매우 중요한 도구가 될 것임을 확신하게 되었습니다.