🗓️ 2025. 02. 24. ~ 2025. 02. 28.
✅ 학습 개요
4주 차는 Java의 객체지향 프로그래밍(OOP)를 심화 학습하고,
Oracle과의 연동을 위한 JDBC(Java Database Connecticity) 개념을 실습했습니다.
기존에 배운 클래스 구조 위에 상속, 다형성, 추상 클래스 등 OOP의 핵심 개념을 덧붙이며
더 복잡하고 확장성 있는 코드 구조를 설계할 수 있게 되었습니다.
JDBC를 통해 자바 프로그램에서 데이터 베이스와 직접 연결해보고,
데이터의 입출력을 처리하면서 실무 프로그래밍에 한 걸음 더 가까워졌습니다.
📝 주요 학습 내용
🧱 1. OOP 심화 개념
- 클래스 간 상속 구조 구성
- 추상 클래스(abstract)와 인터페이스(interface) 비교
- Overriding & Overloading 차이 이해
- 다형성 구현 및 `instanceof` 사용법
🔌 2. JDBC(Java Database Connectivity)
- JDBC 개요 및 아키텍처 이해
- `Connection`, `Statement`, `ResultSet` 등 주요 객체 실습
- `try-catch`문을 이용한 예외 처리
- SELCET, INSERT, UPDATE, DELETE 쿼리 실행
- DB 연결 종료 및 자원 해제(close()) 처리
🧩 3. 실무형 응용 예제 실습
- 회원가입 / 회원 조회 프로그램 구현
- 반복문과 배열, 클래스, DB 연동 통합 활용
- MVC 구조의 간략한 개념 언급 및 설계 연습
🧠 인상 깊었던 실습 코드
// 추상 클래스와 다형성 예제
abstract class Animal {
abstract void sound();
}
class Dog extends Animal {
void sound() {
System.out.println/9"멍멍!");
}
}
Animal a = new Dog();
a.sound(); // 출력: 멍멍!
📌 추상 클래스와 다형성을 활용해, 객체를 유연하게 다룰 수 있는 구조를 구현할 수 있었다.
// JDBC 연결 예제
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "scott";
String password = "tiger";
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM member");
while(rs.next()) {
System.out.println(rs.getString("name"));
}
rs.close();
stmt.close();
conn.close();
📌 직접 DB에 연결해 데이터를 읽어오는 경험을 통해 백엔드의 기초를 몸으로 느낄 수 있었다.
🐞 실습 중 이슈 & 해결 방법
이슈 | 해결 방법 |
추상 클래스에서 메서드 정의 안 했을 때 컴파일 오류 | 자식 클래스에서 반드시 `@Override`로 구현 필요 |
JDBC 연결 실패 | 드라이브 경로 확인 및 object.jar 클래스 패스 설정으로 해결 |
SQL 문법 오류 | 오타, 쿼리 종료 세미콜론 빠짐 등 디버깅을 통해 확인 |
DB 지원 미해제 | `close()` 누락 시 리소스 누수 발생 → finally 블록 사 |
📌 실습 중 마주친 다양한 오류를 통해 Java의 구조적 안정성과 예외 처리의 중요성을 배울 수 있었다.
💬 느낀 점
OOP를 이론이 아닌 코드로 구현해보며 “객체지향이 왜 필요한가”에 대한 감이 생겼다.
클래스 간 관계를 설계하고, 공통 기능은 추상화하며 재사용성을 높이는 구조가 흥미로웠다.
JDBC는 처음에는 복잡했지만, 직접 연결을 해보면서 Java와 DB가 어떻게 대화하는지 이해할 수 있었다.
특히 SQL과 Java가 한 프로젝트 안에서 어우러질 때 프로그램이 실무적으로 완성되는 느낌이 들었다.
💻 실습 코드 전체 보기
👉 자세한 실습 코드는 아래 글에서 확인할 수 있습니다!
🔗 <"👉https://ny1114.tistory.com/entry/4주차-실습-코드-모음">
✍️ 한 줄 회고
“객체를 설계하고, 데이터와 연결하며, 점점 더 ‘개발자스러운’ 코드가 손끝에서 만들어졌다.”
'DevLog > 학습일지' 카테고리의 다른 글
📓 [6주 차 학습일지 – UI 구현 & Spring Boot 백엔드 기초] (0) | 2025.04.08 |
---|---|
📓 [5주 차 학습일지 – SQL 심화 & Spring Boot UI 입문] (0) | 2025.04.08 |
📓 [3주 차 학습일지 - Java 기초 문법, OOP, Oracle DB 입문] (0) | 2025.04.07 |
📓 [2주 차 학습일지 - 반복문, 함수, OOP, 개발 환경 설정] (0) | 2025.04.06 |
📓 [1주 차 학습일지 - 개발 환경 세팅 & Python 기초] (0) | 2025.04.06 |
댓글