DevLog/학습일지

📓 [3주 차 학습일지 - Java 기초 문법, OOP, Oracle DB 입문]

ny1114 2025. 4. 7.

🗓️ 2025. 02.17. ~  2025. 02. 21.

✅ 학습 개요

3주 차는 본격적으로 Java 문법을 배우며 객체지향 프로그래밍(OOP)을 학습하고,
후반부에는 Oracle DB를 다루며 SQL 기초 실습도 시작했습니다.
Java는 Python에 비해 문법이 까다롭고 자료형이 엄격했지만, 

명확한 구조 덕분에 코드 흐름을 더 잘 이해할 수 있었습니다.
Oracle은 눈으로 데이터를 보고 직접 조작하면서, 

백엔드 개발에서 데이터베이스가 왜 중요한지 피부로 느끼게 해줬습니다.


📝 주요 학습 내용

 

📑 1. 일반 이론(코딩 습관, 프로젝트 관리)

  • 소스코드 작성 요령: 주석, 들여쓰기, 파일명 규칙
  • 프로젝트 관리 툴 이해(Git 기초 언급 포함)
  • 주간 계획 수립 및 개발자 업무 프로세스 개괄

 

☕ 2. Java 문법 기초

  • 데이터형: 정수, 실수, 문자, 문자열, 불리언
  • 변수 선언 및 초기화, 형변환(casting)
  • 연산자: 산술, 비교, 논리, 증감, 조건
  • 조건문과 반복문('if', 'switch', 'for', 'while') 실습

 

🔄 3. 배열과 메서드

  • 1차원 배열과 2차원 배열 선언 및 활용
  • 'for-each' 반복문을 이용한 배열 순회
  • 메서드 정의 및 호출, 매개변수 전달 방식 이해
  • Method Overloading 개념 실습

 

🐣4. 클래스와 객체(Java OOP)

  • 클래스 생성, 객체 생성('new' 연산자)
  • 생성자(Constructor), this 키워드
  • 접근 제어자(public, private)와 캡슐화
  • 멤버 변수 / 메서드, Getter / Setter 사용

 

🧱 5. 상속과 다형성

  • 'extend' 키워드로 상속 구조 구현
  • Method Overriding 실습
  • final 클래스 및 메서드 제한 이해
  • 다형성의 개념 및 활용 예제

 

🗃️ 6. Oracle 입문

  • DB 기본 개념: 테이블, 행 / 열, 키(key), 관계
  • Oracle SQL Developer 설치 및 접속
  • 기본 SQL문 실습: SELECT, INSERT, UPDATE, DELETE
  • WHERE 조건절, ORDER BY 정렬, 연산자 실습

🧠 인상 깊었던 실습 코드

// 자바 메서드 오버로딩 예제
public class OverloadTest {
	void print(int a) {
    	System.out.println("정수: ' + a);
    }
    void print(String a) {
    	System.out.println("문자열: " + a);
    }
}

OverloadTest ot = new OverloadTest();
ot.print(100);
ot.print("NY");

📌 메서드 오버로딩은 하나의 이름으로 다양한 매개변수를 처리할 수 있어 코드 유연성이 높아진다는 걸 체감할 수 있었다.

// 오라클 기본 SELECT문 예제
SELCET name, age FROM members
WHERE age >= 20
ORDER BY name ASC;

📌 직접 데이터를 넣고 검색해보며 SQL문이 어떤 식으로 동작하는지 눈으로 확인할 수 있었다.


🐞 실습 중 이슈 & 해결 방법

이슈 해결법
Java에서 문자열 비교 시 `==`로 비교 오류 `.equals()` 메서드를 사용해야 정확한 비교 가능
배열 인덱스 초과 오류 발생 `i < 배열.length` 정확히 확인 필요
Oracle 접속 실패 Listener 설정 확인 및 SID / IP / 포트 재확인 후 해결
SQL Developer 한글 깨짐 환경 설정에서 인코딩 UFT-8로 변경하여 해결

📌 실습 중 발생한 오류는 대부분 "문법 구조에 대한 명확한 이해 부족"에서 비롯되었고,
      디버깅을 통해 문제를 해결하며 Java와 Oracle의 기본 규칙에 익숙해졌다.


💬 느낀 점

 

Java는 Python보다 엄격한 문법 구조를 갖고 있어서 처음엔 낯설었지만, 점점 더 체계적인 사고를 하게 도와주는 언어라는 느낌을 받았습니다.
객체를 만들고 메서드를 호출하는 과정이 처음에는 복잡했지만, 구조화된 프로그램이 어떻게 만들어지는지에 대한 감각을 익힐 수 있었습니다.
Oracle을 활용한 SQL 실습은 단순히 명령어를 외우는 것이 아니라, “데이터를 구조화하고 활용한다”는 감각을 키워주는 소중한 시간이었다고 느꼈습니다.
실습 중 많은 오류를 겪었지만, 그 과정을 통해 디버깅 능력과 문제 해결력도 함께 성장한 기분이 듭니다.
환경 구성, 클래스 구조 이해, SQL문 작성 등 다양한 영역을 한 주에 경험하면서 내 개발자 베이스가 한층 더 넓어졌다고 생각합니다.


💻 실습 코드 전체 보기

👉 자세한 실습 코드는 아래 글에서 확인할 수 있습니다!
🔗 <"👉https://ny1114.tistory.com/entry/3주차-실습-코드-모음">


✍️ 한 줄 회고

“익숙했던 Python을 벗어나 새로운 언어와 환경에 부딪히며,  
내 개발자의 껍질을 한 겹 더 벗겨낸 한 주였다.”

댓글