온라인 교육 부문 2년 연속 1위
신규회원 10% 할인권 증정! 신규회원 10% 할인!
TOP
강의목록

강의소개

홈 > 강의소개

JAVA 프로그래밍 통합과정

교수 사진

박길식 교수

동국대학교 대학원 컴퓨터공학과 박사(인공지능)
동국대 인공지능협업센터 연구교수

학력

동국대학교 대학원 컴퓨터공학과 박사(인공지능)
동국대 인공지능협업센터 연구교수

강의경력

동국대학교
삼성전자 인재개발원
현) 유니와이즈 전임교수

강좌 소개
🤖 **유니와이즈 AI 튜터 탑재!**
- AI강의요약, AI질문채팅, AI문제생성 가능
- 강의는 기본, 최신 트렌드 학습은 AI 튜터로 24시간 학습!

✅ **대학 교과과정 중심 자바 입문·중급 완성**:
- 대학 전공 수업과 현업 요구 역량을 연결하는 커리큘럼으로, 자바 기본기부터 객체지향·컬렉션·스트림·동시성까지 체계적으로 학습합니다.
✅ **프로젝트 기반 실습 루프(개념→예제→실습→미니 프로젝트)**:
- JUnit 테스트, 리팩터링, JDBC, 빌드 도구(Gradle/Maven), Git 협업으로 실무형 포트폴리오를 완성합니다.
✅ **코딩 테스트·면접 대비 강화**:
- 자료구조 활용, 예외 설계, 성능을 고려한 스트림 처리 등 평가 포인트를 실전 과제로 반복 훈련합니다.
교육 대상
🎓 **전공/복수전공 대학생**: 컴퓨터공학·소프트웨어·데이터사이언스·AI·정보보호 등 IT 관련 학과의 프로그래밍 기초/객체지향/자료구조 실습 역량을 강화하고 싶은 학생.
📚 **비전공 전환/편입 준비생**: 자바로 프로그래밍 첫걸음을 시작해 백엔드·안드로이드 개발로 진입하려는 학습자.
🏃 **실무 입문·포트폴리오 준비자**: 테스트(JUnit), 빌드/배포(Gradle/Maven), Git 협업까지 경험하며 프로젝트 산출물을 만들고 싶은 취업 준비생.
🔬 **자격 대비 학습자**: OCP11(Oracle Java), 정보처리기사/산업기사, SQLD/ADsP 등 자격 취득과 연계해 체계적으로 공부하려는 수험자.
교재정보 및 참고문헌
📘 **주교재 (PDF 제공)**:
- 유니와이즈 자체 교수진 연구교재로, 대학 수업·실무를 모두 반영한 개념→예제→실습→과제 구조의 코어 교재입니다.
- 모듈별 요약, 체크리스트, 예제 코드/템플릿을 포함해 예·복습과 과제 수행에 최적화되어 있습니다.
📖 **참고 문헌 (선택)**:
- 『명품 JAVA Programming』(황기태·김효수, 생능출판사)
- 『Head First Java: 뇌를 자극하는 자바 학습법』(케이시 시에라 저, 서환수 역, 한빛미디어)
(※ 주교재만으로도 학습이 가능하며, 심화 이해를 원할 경우 병행을 권장합니다.)

유니와이즈 AI학습의 특징

AI가 이끄는 스마트한 학습 경험, AI 튜터와 함께 더 빠르고, 더 깊게 학습하세요.

📝
AI 자동 요약

긴 강의 내용을 AI가 핵심만 요약하여 복습 시간을 단축시킵니다.

🔑
핵심 키워드 추출

강의에서 가장 중요한 키워드와 개념을 자동으로 추출해 제공합니다.

💡
AI 자동 퀴즈

학습한 내용을 바탕으로 AI가 생성한 퀴즈를 풀며 이해도를 점검합니다.

🤖
1:1 AI 튜터

모르는 부분을 24시간 언제든 AI 튜터에게 질문하고 답변을 받습니다.

커리큘럼

총 16개 챕터, 78강으로 구성되어 있습니다.

커리큘럼
제목 강의시간 상세내용
1장. 자바 시작
[1강] 컴퓨터와 프로그래밍
0: 34: 00
자바 시작: 컴퓨터와 프로그래밍 기초 개념 정리

• 프로그래밍 언어와 분류: 컴퓨터에서 실행되는 프로그램을 만드는 도구로, 저급 언어(기계어·어셈블리어)와 고급 언어(C, C++, Java, Python 등), 범용·전용·시스템·응용 언어로 구분

• 프로그래밍 핵심 개념: 기계어·어셈블리어 특성, 고급 언어의 자료구조(데이터 저장 구조)·알고리즘(데이터 처리 절차), 절차지향(C)과 객체지향(Java, C++) 패러다임 차이 정리

• 컴파일과 자바 실행 구조: 소스코드(.java/.c/.cpp)를 컴파일해 기계어·바이트코드(.class, .obj, .exe)로 번역 후 실행하는 과정 및 Java의 웹·네트워크·DB·안드로이드 앱 활용 분야와 C→C++→Java 계보 이해
[2강] 자바의 출현과 WORA, 자바의 진화
0: 44: 02
자바 출현 배경과 WORA, JVM과 실행 환경 및 자바 진화 개요

• 자바 출현과 WORA 개념: Sun Microsystems와 James Gosling의 자바 탄생 배경, 플랫폼 종속성 문제 해결을 위한 WORA 철학과 웹·임베디드 지향 언어로서의 위치 정리
• JVM과 실행 구조: 자바 소스(.java) → 바이트 코드(.class) 컴파일, JVM 기반 인터프리트 실행, C/C++의 목적 코드·링크·플랫폼 종속 실행 구조와의 비교, 디어셈블(javap) 활용 개념
• 자바 진화와 배포판: 오픈 소스 전환과 산업적 확산, Java SE·ME·EE 각 배포판의 용도(표준/마이크로/엔터프라이즈)와 대상 플랫폼 및 포함 API 범위 구분
[3강] 자바 개발 환경 구축
0: 48: 45
자바 개발 환경 구축과 기본 프로그램 구조 핵심 정리

• JDK·JRE·도구 체계: JDK/JRE 구성과 차이, JDK 설치 디렉터리와 bin(javac, java, jar, jdb, appletviewer) 도구 역할, Java API·클래스 라이브러리 개념 및 문서(javadoc) 생성 방식 정리
• 패키지·IDE 환경: Java 패키지와 계층 구조, 패키지명.클래스명 풀네임과 import 사용, Eclipse IDE를 중심으로 한 통합 개발 환경(편집·컴파일·실행·디버깅·문서화 기능) 이해
• 기본 Java 프로그램 구조와 실행 절차: 클래스와 main 메소드 구조, 변수 선언과 System.out.println 출력, 소스 작성·파일명 규칙·컴파일(javac)·실행(java) 과정 및 JVM·바이트코드 실행 흐름 정리
[4강] 이클립스, 응용프로그램의 종류, 자바의 특징
0: 47: 44
자바 이클립스 개발, 응용프로그램 종류, 자바의 특성 정리

• 이클립스 개발 환경 구조: 워크스페이스·프로젝트·클래스 계층과 화면 구성, Java Project/Class 생성 및 main 메소드 기반 실행 절차 정리
• 자바 응용프로그램 유형: 일반 응용, 애플릿, 서블릿·JSP, Java ME, 안드로이드의 실행 위치(클라이언트·서버·모바일), JVM·Dalvik/ART 구조 및 서버 연동 방식 정리
• 자바 언어 및 파일 구조: 객체지향 4대 특성·멀티스레드·플랫폼 독립성, 소스·클래스·내부 클래스·패키지 구조와 public 클래스·파일명 규칙, 실행 모듈(jar)과 main 메소드 역할 정리
[5강] 자바 시작 실습 (1)
0: 37: 24
자바 개발 환경 구축과 Eclipse 기본 사용 개요

• 자바 개발 환경 구성 및 JDK/JRE 개념: JDK 설치·구성, JRE 실행 환경, JDK 소스와 Java API 구조 이해를 통한 자바 개발 기반 설정
• Eclipse 및 워크스페이스 구조: Eclipse IDE 다운로드·설정, 워크스페이스·프로젝트·패키지·클래스 계층 구조와 생성 절차, 글꼴·환경 설정 기능 활용
• 자바 프로그램 작성·실행 및 오류 유형: main 메서드 기반 콘솔 출력 프로그램 작성·실행 절차, 문법 오류·논리 오류 구분과 Eclipse 디버그·자동 정렬·빌드 관리 기능 이해
[6강] 자바 시작 실습 (2)
0: 35: 56
Summary Content:
• Java 프로그램 기본 구조: 클래스 선언과 예약어·접근 제어자(public, protected, default, private) 정의, main 메서드를 진입점으로 하는 실행 구조, 사용자 정의 클래스와 시스템 제공 클래스(API)의 구분 및 객체지향에서의 재사용·유지 보수 단위로서의 역할 정리
• 입출력과 코드 문법 요소: System.out.print/println의 출력 기능과 줄 바꿈 동작, 문자열·숫자 출력 형식, 주석(comment)의 비실행 설명문 역할과 코드 이해·협업·유지 보수 지원 기능 정리
• 메서드·배열·연산 규칙: main 메서드와 인자(String[] args)의 의미, 배열의 연속 메모리·동일 자료형 저장 구조, 문자열과 숫자 결합 시 + 연산의 좌→우 평가 순서와 괄호를 통한 우선 계산 규칙 정리
2장. 자바 기본 프로그래밍
[7강] 자바 프로그램의 구조, 식별자
0: 41: 53
자바 프로그램 구조와 식별자 작성 원칙 요약

• 자바 프로그램 구조와 메소드 개념: 클래스·main 메소드·블록·문장·주석 구조, 메소드의 반환형·매개변수·호출·반환값과 지역변수·전역변수의 범위 및 표준 출력 스트림(System.out) 사용 방식 정리
• 식별자와 키워드 규칙: 식별자 정의, 사용 가능/불가 문자, 키워드·리터럴(true, false, null) 사용 금지, 숫자로 시작 불가, 대소문자 구분, 올바른/잘못된 식별자 사례를 통한 작성 원칙 정리
• 명명 규칙과 상수: 클래스/변수/메소드의 PascalCase·camelCase·헝가리안 표기법, final을 이용한 상수 선언, 대문자+언더바 상수 이름 규칙 및 변경 불가 특성 정리
[8강] 자바의 데이터 타입
0: 43: 25
자바 기본·레퍼런스 타입과 변수·리터럴·형변환 정리

• 자바 데이터 타입 체계: 기본 타입 8개(boolean, char, byte, short, int, long, float, double)와 레퍼런스 타입(String·배열·클래스·인터페이스)의 크기·표현 범위·메모리 저장 방식 구분
• 변수·상수·리터럴: 변수 선언·초기화·대입 규칙, 상수(final)의 정의와 네이밍 규칙, 정수·실수·문자·논리·문자열·null 리터럴의 표기법·기본 타입(int, double)·사용 제한(boolean↔정수 변환 금지) 정리
• 형변환 규칙: 자동 타입 변환(표현 범위 확장·연산 시 승격 규칙)과 강제 타입 변환(캐스팅 문법, 범위 축소·소수 절삭·오버플로우 위험, 캐스팅 위치에 따른 연산 결과 차이) 정리
[9강] 자바에서 키 입력 (1)
0: 52: 50
자바 키 입력과 System.in, InputStreamReader 개념 정리

• 표준 입출력 스트림과 키보드 입력: System.out/화면 출력, System.in/키보드 연결 표준 입력 스트림, 스트림 기반 I/O 구조 및 바이트 단위 입력 특성 정리
• InputStreamReader와 키 입력 처리 흐름: System.in 바이트 스트림을 문자 스트림으로 변환하는 브리지 스트림 역할, 객체 생성 문장 구조와 rd.read()에 의한 키보드 문자 입력 절차 정리
• 예외 처리와 기본 실행 구조: 키보드·파일·네트워크 I/O 과정의 IOException 개념, try-catch 예외 처리 패턴, import java.io.*와 public static void main(String[] args)의 의미 및 실행 진입 구조 정리
[10강] 자바에서 키 입력 (2)
0: 36: 44
자바 Scanner 클래스를 이용한 키보드 입력 정리

• 자바 키보드 입력 방식 비교: InputStreamReader와 Scanner의 구조·역할 차이 및 Scanner의 고수준 입력 처리 장점(토큰 분리+형 변환) 정리
• Scanner 핵심 기능: java.util.Scanner import 구조, System.in 기반 객체 생성, 공백 단위 토큰 분리 원리, next·nextInt·nextDouble·nextLine 등 자료형별 입력 메소드와 next vs nextLine 동작 차이 정리
• Scanner 활용 및 주의점: 이름·나이·체중·신장 등 다중 입력 처리 패턴, 의미 있는 변수명 사용, 정수·실수·문자열·문장 입력 시 메소드 선택 기준과 버퍼에 남은 개행 문자 처리 유의사항 정리
[11강] 연산자 (1)
0: 44: 00
자바 연산자 개념 정리와 비트·시프트 연산 핵심 요약

• 자바 기본 연산자 체계: 증감·산술·나머지·대입·축약 대입·연산자 우선순위와 결합 방향을 통한 수식 평가 구조 정리
• 논리·삼항 연산자: boolean 연산 규칙, 조건식 기반 분기 및 대입 표현 방식 정리
• 비트·시프트 연산자: AND·OR·XOR·NOT 및 좌우 시프트를 이용한 비트 단위 계산, 2의 거듭제곱 배/나눗셈 효과와 정수 타입 변환 규칙 정리
[12강] 연산자 (2)
0: 29: 18
JAVA 연산자 심화: 비교·논리·대입·증감·삼항 연산 정리

• 비교·논리 연산자: <, >, =, ==, !=, !, ^, ||, &&를 사용한 boolean 결과 계산, 진리표 기반 논리식 평가 및 문자/정수 비교 구조 이해
• 대입·복합 대입 연산자: = 및 +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=를 통한 값 갱신과 축약 표현, 비트/산술 연산 결합 구조 정리
• 증감·삼항 연산자: 전위/후위 증감(++x, x++, --x, x--)의 평가 순서와 값 변화 추적, 조건식 ? 참값 : 거짓값 구조와 if-else 상호 변환 원리 이해
[13강] 조건문
1: 03: 44
자바 조건문 if, switch, 조건연산자 핵심 정리

• if문 계열 구조: 단순 if, if-else, 중첩 if(else if 포함)를 통해 boolean 조건식 기반 분기, 블록 범위, 다중 조건 단일 선택 구조 정리
• 조건 연산자(삼항 연산자): (조건식) ? 값1 : 값2 형태로 if-else를 단일 식으로 축약, 평가 순서와 대입 연산자 우선순위 개념 정리
• switch문 구조: switch- case-break-default 구문, 허용 타입(int·char·String 등), fall-through 동작, if문 대비 사용 기준 및 변환 절차 정리
[14강] 자바 기본 프로그래밍 실습 (1)
0: 30: 25
Java 메서드 구조와 기본 자료형·상수 실습 정리

• Java 프로그램 구조와 main 메서드: 클래스와 메서드 블록 구조, JVM의 main 메서드 진입, 메서드 호출·인수 전달·return에 따른 실행 흐름 이해
• Java 기본 문법 요소: 세미콜론 기반 문장 구분, 주석(Comment) 유형과 작성 원칙, 8가지 기본 자료형과 변수 선언·초기화, String 클래스와 문자열·null 처리
• 상수(final) 개념: final 키워드에 의한 값 변경 불가 규칙, 재대입 시 컴파일 오류 의미, 불변 값 정의 용도 중심 활용 원리
[15강] 자바 기본 프로그래밍 실습 (2)
0: 32: 37
자바 자료형 형변환과 InputStreamReader를 이용한 키보드 입력 처리 핵심 정리

• 자바 형변환 개념: 기본 자료형 크기 체계와 자동형 변환(작은→큰, 데이터 손실 없음)·명시적 형변환(큰→작은, 형변환 연산자 필요·데이터 손실 가능) 구조 정리
• 키보드 입력 처리 구조: InputStreamReader와 System.in, read 메소드의 정수(문자 코드) 반환 방식, ASCII/유니코드 값과 char 형변환을 통한 문자 입출력 매핑 정리
• 반복 입력·예외 처리: while(true) 기반 반복 입력 구조, rd.read()의 IOException에 대한 try-catch 예외 처리, -1·특정 문자(q 등) 비교와 break를 활용한 무한 루프 종료 조건 설계
[16강] 자바 기본 프로그래밍 실습 (3)
0: 47: 58
자바 Scanner 클래스 기초 사용 및 입력 처리 연습

• Scanner 클래스와 API 문서: java.util.Scanner 엔티티 정의, 생성자·메서드 요약 확인을 통한 키보드·파일 입력 처리 구조 이해
• Java 프로그램 구조와 메서드 개념: 클래스와 public static void main 구조, 메서드·반환형·void 의미 및 return 타입 일치 규칙 정리
• Scanner 입출력 활용: import와 new Scanner(System.in)로 입력 스트림 연결, nextInt·nextDouble 사용과 System.out.print/println 차이를 통한 콘솔 입출력 패턴 구성
[17강] 연산자 실습
0: 58: 18
자바 연산자 실습: 산술·비트·논리·증감·3항 연산 핵심 정리

• 산술·형변환·조건 연산자: 정수/실수 나눗셈, %, 명시적/묵시적 형변환, 3항(조건) 연산자 구조와 boolean 기반 분기 처리
• 비트·시프트 연산자: 16진수·2진수 표현, AND/OR/XOR/NOT 비트 연산, <<, >> 를 이용한 2의 거듭제곱 배·제수 연산 및 마스킹
• 비교·논리·증감 연산자: 비교 연산과 boolean 논리(&&, ||, ^) 규칙, 전위/후위 증감(++/--) 평가 시점 차이와 표현식 내 사용 원리
[18강] 조건문 실습
0: 44: 40
Summary Content:
Java 조건문과 switch문 핵심 정리 및 성적 처리 예제

• Java 조건문 기본 구조: if / if–else / else if를 이용한 범위·논리 기반 분기, Scanner 입력(nextInt, hasNext)과 while 반복을 결합한 합격/불합격·학점 판정 및 배수 판정 처리

• switch–case 구조와 제약: switch(식)–case–break–default를 이용한 값 일치 기반 다중 분기, score/10을 활용한 점수 구간화 학점 처리, 문자(char)·문자열(String) case 사용 가능, case에는 상수·컴파일 시 결정 값만 허용되고 범위·조건식 사용 불가

• if문 vs switch문 선택 기준: 경우의 수가 적거나 범위·복합 조건이 필요할 때 if–else 체인 사용, 경우의 수가 많고 단순 값 비교일 때 switch–case 사용, break 누락 시 fall-through 발생과 default를 통한 나머지 경우 처리 구조 이해
[19강] 자바 기본 프로그래밍 실습 (4)
0: 36: 20
Java 반복문 for문·while문 실습과 변수 스코프 및 형 변환

• Java 반복문 구조: for문과 while문의 초기식·조건식·증감식·실행 순서 및 다중 변수 제어를 통한 누적합·수식 출력·입력 반복 처리 절차 정리
• 변수 스코프와 누적합 알고리즘: 지역 변수와 전역 변수의 유효 범위, 초기화 규칙, 1부터 N까지 합을 구하는 반복 방식과 수식 방식의 연산 횟수·알고리즘 효율 비교
• 정수/실수 연산과 무한 루프 제어: 정수·실수 연산 및 자동/강제 형 변환을 이용한 평균 계산 정확도 확보, while(true) 무한 루프와 break를 이용한 입력 종료·반복 탈출 제어 구조 분석
[20강] 자바 기본 프로그래밍 실습 (5)
0: 32: 19
Summary Content:
Java 반복문 do-while, 중첩 for, break/continue, 라벨 분기 정리

• 반복문 구조와 차이: while·do-while·for의 조건 검사 시점과 최소 1회 실행 여부, 중첩 for문을 이용한 구구단 출력 구조(j: 단, i: 곱해지는 수) 정리

• 제어문 기능: continue를 통한 현재 반복 일부 건너뛰기, break를 통한 가장 안쪽 반복 종료, while(true)+break 패턴을 통한 미정 반복 횟수와 센티널(-1) 종료 처리

• 라벨 분기 제어: 라벨(label)을 이용한 다중 중첩 반복에서 break·continue 대상 반복문 지정 방식과 바깥 반복 직접 종료·건너뛰기 구조 정리
[21강] 자바 기본 프로그래밍 실습 (6)
0: 35: 11
배열 선언과 최대·최소·평균, for-each문 핵심 정리

• Java 배열 기본 개념: 동일 타입 데이터를 연속 메모리에 인덱스로 저장·관리하는 구조로, 선언(int[] a)·생성(new int[n]) 분리와 length 기반 인덱스 범위(0 ~ length-1) 및 예외(ArrayIndexOutOfBoundsException) 처리

• 배열 활용 알고리즘: Scanner 입력과 반복문을 결합해 최대값·최소값·평균을 계산하며, max/min 초기값 전략(극단값·첫 원소), length를 이용한 반복·나눗셈으로 하드코딩 상수 제거 및 유지보수성 향상

• for-each 및 확장 활용: for-each문(for(타입 v : 배열/Week.values()))으로 인덱스 없이 순차 순회하여 코드 단순화하고, 정수·문자열 배열 및 enum 열거형 상수 집합 처리에 사용하되 인덱스가 필요한 경우 일반 for문 사용
[22강] 자바 기본 프로그래밍 실습 (7)
0: 53: 49
포이치문, 2차원·비정방형 배열, 예외처리 핵심 정리

• 향상된 for문·열거형(enum)·배열 순회: enum과 1차원 배열을 향상된 for문으로 읽기 전용 순회하는 문법과 기존 for문(인덱스 기반)과의 차이·용도 비교

• 2차원·비정방형 배열 구조: 2차원 배열의 선언·생성·초기화, length 사용(arr.length, arr[i].length), 지그재그(리얼자) 패턴, 정방형 배열과 Jagged Array(행별 가변 길이) 선언·활용 및 메소드에서 배열 반환 패턴

• 자바 예외 처리 기초: 예외 개념과 try-catch 흐름, ArithmeticException(0으로 나누기), ArrayIndexOutOfBoundsException(배열 범위 초과), NumberFormatException(형식 불일치) 발생 조건과 처리 방식
3장. 반복문과 배열 그리고 예외 처리
[23강] 반복문
0: 51: 42
자바 반복문 기본 구조와 for/while/do-while 정리

• 자바 반복문 기본 개념: for문·while문·do-while문 세 가지 반복 제어 구조의 역할, 공통점(조건 기반 반복)과 차이점(조건 평가 시점·초기화·증감 위치) 정리
• 반복문 구조와 실행 흐름: for문(초기문-조건식-작업문-반복후작업), while문(선조건-반복), do-while문(후조건-최소 1회 실행), 무한 반복 조건, 지역 변수 범위와 입력 기반 반복(Scanner 활용) 구조 정리
• 중첩 반복문과 응용: 2중 for문을 통한 총 반복 횟수 계산, 구구단 출력 등 2차원 데이터 처리 패턴 정리
[24강] continue문과 break문
0: 25: 55
JAVA 반복 제어: continue문과 break문, 라벨 활용 정리

• 반복 제어문 개념: 반복문 내부 흐름을 부분 건너뛰기 또는 조기 종료하기 위한 continue문·break문 기본 원리와 for·while·무한 반복에서의 제어 구조 정리
• continue문·break문 동작: continue를 통한 현재 반복 하단 코드 스킵 및 다음 반복 분기, break를 통한 현재(가장 안쪽) 반복문 즉시 종료와 입력 루프·조건 제어 패턴 요약
• 라벨과 중첩 반복 제어: 중첩 반복문에서 기본 break 한계, 라벨이 있는 continue·break 문법과 동작(바깥 반복 다음 반복 이동·전체 탈출)을 활용한 다단계 반복 제어 구조 정리
[25강] 배열
0: 45: 43
자바 배열 선언과 인덱스 및 for-each 문 핵심 정리

• 자바 배열 기본 개념과 메모리 구조: 동일 타입 데이터의 연속적 저장, 0~length-1 인덱스 기반 접근, 선언·생성(new)·초기화 절차 및 정적 크기와 length 필드 특성 정리
• 배열 접근과 참조 규칙: 인덱스 범위 위반에 따른 ArrayIndexOutOfBoundsException, 배열 생성 전 접근 오류, 다수 레퍼런스의 동일 배열 공유와 값 변경 영향 구조 정리
• 배열과 반복문 활용: for문·for-each문을 이용한 원소 순회, 합계·평균·최대값 계산 등 배열 기반 알고리즘 작성 패턴 및 열거형(enum) 순회 방식 정리
[26강] 다차원 배열, 자바의 예외 처리
0: 31: 13
다차원 배열과 예외 처리 핵심 개념 정리

• 2차원 배열과 비정방형 배열: 행·열 구조의 2차원 배열 선언·생성·초기화와 length 활용, 정방형/비정방형(jagged) 배열 비교 및 메모리 효율성 구조 정리
• 배열 순회와 메소드 반환: 2차원 배열의 중첩 for문 순회 패턴, 행·열 크기 동적 참조, 메소드에서 배열 참조 반환과 배열 타입 일치 규칙 정리
• 자바 예외와 예외 처리: 예외 개념과 주요 예외 타입(ArithmeticException, ArrayIndexOutOfBoundsException, NumberFormatException 등), try-catch-finally 구조와 실행 중 오류 대응 방식 정리
4장. 클래스와 객체
[27강] 객체 지향과 자바 실습 (1)
0: 44: 43
Java 클래스와 객체, 생성자, 접근제어자 핵심 정리

• 클래스와 객체, 멤버 구성: 클래스는 멤버 변수(속성)와 메서드(동작)를 포함한 설계도이며, 객체는 new 연산을 통해 힙에 생성되고 스택의 참조 변수로 접근함
• 접근제어자·정보은닉·static: default·private·protected·public으로 접근 범위를 제어하여 정보은닉·캡슐화를 구현하고, static 요소는 객체 없이 클래스 단위로 사용되며 non-static 멤버는 반드시 객체 생성 후 참조 변수로 접근함
• 메서드·생성자·this 오버로딩: 메서드는 반환 타입(void 포함)을 가지는 동작 단위이며, 생성자는 클래스명과 동일하고 객체 생성 시 자동 호출·오버로딩되며, this 키워드로 현재 객체 멤버를 명시해 매개변수와 구분하여 초기화·Goods/Person 설계에 활용함
[28강] 객체 지향과 자바 실습 (2)
0: 26: 54
클래스 메서드 설계와 객체배열 구현 핵심 정리

• 클래스 설계와 메서드 구조: MyExp 클래스의 멤버변수(Base, exp)와 int getValue() 메서드를 통해 지수 계산 기능을 구현하고, 반복문과 반환형을 결합한 기능 단위 클래스 설계 원리 정리
• 캡슐화와 접근 메서드 패턴: Goods/Goods2 클래스의 private 필드, this를 사용하는 생성자, get/set 명명 규칙(CamelCase)을 통한 캡슐화 구조 및 IDE 기반 getter/setter 자동 생성 활용 방식 정리
• 객체배열과 입력·출력 흐름: Goods2[] 배열 레퍼런스 선언 → new Goods2[크기] 배열 생성 → 각 인덱스별 new Goods2(...) 객체 생성의 3단계 구조와 Scanner 입력, for문 순회, getter 사용 출력 절차를 통합한 객체배열 처리 흐름 정리
[29강] 메소드 형식 실습 (1)
0: 49: 54
Summary Content:
Java 메서드 형식과 접근 제한자, 객체 생성 개념 정리

• 클래스 구조와 메서드 개념: 클래스는 변수(필드)와 메서드(동작)로 구성된 추상화 단위이며, 메서드는 수학적 함수처럼 입력(파라미터)을 받아 처리 후 결과를 반환하거나(void인 경우 반환 없이 수행) 동작을 수행하는 기능 단위

• 메서드 형식과 리턴타입: 메서드 선언은 `[접근 제한자] [리턴타입] 메서드이름(매개변수)` 형식으로 작성되며, `void`는 반환값 없음, 비 void 메서드는 `return`으로 호출 지점에 값을 돌려주고 이 값의 타입은 선언된 리턴타입과 일치해야 함

• 접근 제한자와 객체 생성: public·protected·default·private는 멤버의 접근 범위(클래스 내부, 동일 패키지, 상속 관계, 외부 전체)를 결정하여 캡슐화를 구현하며, 인스턴스 메서드는 클래스로부터 `new`로 객체를 생성한 뒤 `객체참조.메서드()` 형태로 호출해야 실제 메모리 상에서 동작함
[30강] 메소드 형식 실습 (2)
0: 42: 24
자바 메서드 매개변수 전달, 생성자와 참조 타입 동작 정리

• 생성자 메서드와 기본 생성자: 클래스 이름과 동일하며 반환형이 없는 생성자 정의, 객체 생성 시 자동 호출, 오버로딩 가능하며 사용자가 생성자를 정의하면 매개변수 없는 기본 생성자는 자동 생성되지 않으므로 필요 시 명시적으로 작성

• 매개변수 전달 방식과 참조 구조: 기본 타입은 값 자체가 복사되는 pass-by-value로 메서드 내부 변경이 호출자에 영향을 주지 않으며, 객체와 배열은 힙에 생성된 동일 객체의 참조값(주소)을 복사해 전달하여 필드·요소 변경이 호출자에게 그대로 반영됨

• 캡슐화와 접근 제어: 중요한 필드는 private으로 은닉하고 public getter/setter 메서드를 통해서만 접근·변경하도록 설계하여 비밀번호 검증 등 검증 로직을 포함한 안전한 상태 관리와 데이터 무결성·정보 은닉을 구현함
[31강] 메소드 활용 실습
0: 49: 26
메서드 오버로딩과 this 레퍼런스 핵심 정리

• 메서드 오버로딩: 동일 메서드 이름에 대해 매개변수 타입·개수로 시그니처를 구분하여 다형성을 제공하고, println처럼 하나의 이름으로 다양한 타입 처리를 가능하게 하는 기법

• 형 변환 규칙: 오버로딩 선택 시 표현 범위가 넓은 타입으로는 자동 형 변환이 적용되나(예: int → float), 범위 축소 시에는 데이터 손실 가능성으로 인해 강제 형 변환(casting)만 허용됨

• this 레퍼런스: 현재 실행 중인 메서드가 속한 객체 자신을 가리키는 참조로, 멤버 변수와 지역 변수 이름 충돌 시 this.멤버변수 형태로 구분하며, 생성자·setter/getter에서 객체 상태 설정·조회에 사용됨
[32강] 생성자(constructor) 실습
0: 45: 12
Java 생성자 개념과 상속 구조 핵심 정리

• Java 생성자 기본 개념: 클래스 이름과 동일·반환형 없음·new 시 자동 호출되는 특수 메서드로, 힙 영역 객체 생성 직후 멤버 변수 초기화를 수행함
• 상속과 생성자 호출 구조: 모든 클래스는 Object를 최상위로 하는 상속 트리를 가지며, super()를 통해 Object까지 부모 생성자가 먼저 호출된 후 자식 생성자가 실행됨
• 생성자 설계 패턴: 기본 생성자 자동 생성 규칙과 오버로딩, this()/super() 호출 제약을 활용해 공통 초기화 코드를 위임하고 매개변수 조합별로 일관된 객체 초기화 구조를 설계함
[33강] 가비지와 가비지 컬렉션 실습
0: 40: 09
Java 가비지 컬렉션과 접근 지정자 핵심 정리

• 가비지 컬렉션과 객체 수명: 힙 영역에 new로 생성된 객체 중 참조 변수가 사라져 더 이상 참조되지 않는 객체(가비지)를 자동 탐지·회수하여 메모리 누수 방지 및 수동 해제(malloc/free) 대비 안정적 메모리 관리 수행, System.gc()로 수집 시도 요청 가능

• 접근 지정자와 패키지 범위: 클래스와 멤버에 public·private·default를 적용하여 접근 범위를 제어하며, public은 모든 패키지에서 접근 가능, default는 동일 패키지 내에서만 접근 가능, private은 선언된 클래스 내부에서만 접근 가능한 구조 제공

• 캡슐화와 정보 은닉: 민감 데이터를 private 필드로 숨기고 public 메서드(setter, 검증 로직 포함)를 통해서만 간접 접근을 허용함으로써 임의 수정 방지·검증 절차 강제·객체 상태 무결성 유지라는 객체지향 설계 원칙 구현
[34강] static 멤버 실습
0: 27: 14
Java static과 final 키워드 핵심 개념 정리

• static 키워드: 클래스 로딩 시 메모리에 생성되는 공유 멤버로, 객체 생성 없이 클래스 이름으로 접근하며 클래스당 단 하나의 변수·메소드·객체 공간을 여러 인스턴스가 공동 사용

• non-static vs static 멤버: non-static 멤버는 각 객체마다 독립 메모리(개별 상태)를 가지며 객체를 통해서만 접근하고, static 멤버는 공용 상태·기능 관리 및 환율 변환기(CurrencyConverter.rate, toDollar, toKWR 등) 같은 전역 수준 기능 구현에 사용

• final 키워드: final 클래스는 상속 불가, final 메소드는 오버라이딩 불가, final 변수는 1회만 대입 가능한 상수로, static과 결합한 `public static final` 패턴은 프로그램 전역에서 공유되는 불변 상수 정의에 사용
5장. 상속
[35강] 상속의 개념 실습
0: 52: 42
객체지향 자바 상속과 메서드 오버라이딩 핵심 정리

• 자바 상속 개념과 구조: 부모(슈퍼) 클래스의 공통 속성과 메서드를 자식(서브) 클래스가 extends로 재사용하여 계층 구조와 코드 재사용성·안정성을 확보하는 메커니즘

• 상속 설계 원칙과 일반화·구체화: Animal–Person–Snake–Lizard, Object–Point–ColorPoint 예제를 통해 공통 특성은 상위 클래스, 개별 특성은 하위 클래스에 두고, 상위는 일반화된 동작만 두며 구체 동작은 각 하위에서 정의하는 설계 원리

• 메서드 오버라이딩과 오버로딩: 상속 관계에서 같은 시그니처로 부모 메서드를 재정의해 다형성을 구현하는 오버라이딩과, 동일 이름에 매개변수 목록만 달리하는 오버로딩을 구분하고, 잘못된 상속 사례를 통해 의미론적으로 타당한 계층 설계 기준을 학습하는 내용
[36강] 클래스 상속과 개체, 상속과 접근 지정자 실습
0: 37: 32
자바 접근 지정자와 상속 시 멤버 접근 정리

• 자바 접근 지정자: public·private·default·protected의 정의와 동일 클래스/패키지/상속/타 패키지에 따른 접근 범위 및 우선순위 구조 정리
• 캡슐화와 간접 접근: private 필드와 public setter/getter 메소드를 통한 정보 은닉, 상속 관계(A10/B10)에서의 멤버 보유·접근 구조 정리
• 패키지와 상속 관계: myPackage/yourPackage 간 import, 같은 패키지 vs 다른 패키지, 상속 여부에 따른 public·default·protected 멤버 접근 가능성 정리
[37강] 상속과 생성자, 객체의 타입 변환 실습
0: 58: 51
자바 상속 관계에서 생성자 호출과 객체 타입 변환 정리

• 생성자와 super 호출 구조: 상속 관계에서 객체 생성 시 Object → 부모 → 자식 순으로 생성자가 호출되며, 자식 생성자 첫 줄의 숨겨진 super() 또는 명시 super(인자)로 부모 생성자를 선택하고, 부모에 기본 생성자가 없으면 생성자 짝 불일치로 컴파일 오류가 발생함

• 업캐스팅과 멤버 접근: 자식 객체를 부모 타입 참조 변수에 대입하는 자동 형변환으로, 부모 타입이 실제로 자식 인스턴스를 가리켜도 정적 타입 기준으로 부모가 정의한 멤버까지만 접근 가능하며, 자식이 추가한 필드는 직접 접근 불가함

• 다운캐스팅과 접근 확장: 부모 타입 참조를 자식 타입으로 명시적으로 형변환하여 상속받은 멤버와 자식 고유 멤버 모두 접근 가능하게 하지만, 실제 객체가 자식 타입이 아닐 경우 런타임 ClassCastException 위험이 있어 instanceof로 타입 검사가 필요함
[38강] 메소드 오버라이딩 실습
0: 47: 57
Java instanceOf 연산자와 메서드 오버라이딩 핵심 정리

• instanceof 연산자와 상속 관계: 업캐스팅된 참조 변수가 가리키는 실제 객체 타입을 검사해 부모·자식·인터페이스 타입 여부를 true/false로 판별하는 연산자 개념과 사용 규칙 정리
• 메서드 오버라이딩과 동적 바인딩: 부모 메서드를 자식이 동일 시그니처로 재정의하여 다형성을 구현하고, 부모 타입 참조로 호출해도 실제 객체 타입의 오버라이딩 메서드가 실행되도록 하는 동적 바인딩 원리 정리
• 변수 종류와 메모리 구조: 인스턴스 변수·지역 변수·객체 참조 변수의 정의, 힙/스택 메모리 위치와 객체 수명, 기본형과 참조형 변수의 저장 방식 및 가비지 컬렉션 대상 조건 정리
[39강] 추상 클래스, 인터페이스 실습
0: 51: 55
추상 클래스와 인터페이스 핵심 개념 및 활용 정리

• 추상 클래스와 추상 메소드: abstract 예약어로 선언되는 미구현 메소드와 이를 포함해 일반 메소드·필드를 함께 가질 수 있는 상위 설계 단위, 객체 직접 생성 불가 및 상속 후 오버라이딩을 통한 구현 구조 정리
• 인터페이스와 다중 구현: 상수와 추상 메소드로만 구성되는 타입으로 public static final·public abstract 자동 부여, 객체 생성 불가하지만 implements로 여러 인터페이스를 동시에 구현하여 클래스 다중상속을 대체하는 규격 제공 장치
• 추상 클래스 vs 인터페이스 활용 기준: 공통 상태·기본 동작 일부 제공 시 추상 클래스 사용, 구현 없이 메소드 시그니처 규격만 강제하고 다중 구현 효과가 필요할 때 인터페이스 사용하도록 비교 정리
6장. 클래스
[40강] Object 클래스 실습
0: 35: 35
Java Object 클래스와 주요 메소드 활용 정리

• Object 클래스 상속 구조: java.lang 패키지 최상위 슈퍼 클래스, 모든 사용자 정의 클래스의 공통 부모로 clone, equals, getClass, hashCode, toString 등 기본 메소드 상속 제공
• 객체 식별·정보 메소드: getClass와 getName을 통한 런타임 클래스 정보 조회, hashCode를 통한 객체 식별용 정수값 제공, 기본 toString의 클래스이름@해시코드(16진수) 형식과 오버라이딩을 통한 사용자 정의 문자열 표현
• 객체 비교 메커니즘: == 연산자의 참조(주소) 동일성 비교, 기본 equals의 참조 기반 비교, equals 오버라이딩을 통한 필드 값 기반 동등성 비교 및 clone을 이용한 동일 상태 객체 복제 기능 제공
[41강] Wrapper 클래스 실습
0: 33: 13
자바 래퍼 클래스 기본 개념과 활용 정리

• 자바 래퍼 클래스 개념 및 필요성: 기본 자료형을 객체로 포장해 컬렉션·API에서 사용 가능하게 하며, 스택/힙 메모리 구조와 기본형-Wrapper 타입 대응 관계 정리
• 자동 형 변환 및 형변환 메서드: 오토박싱·언박싱을 통한 기본형↔Wrapper 자동 변환과 parseXXX, toString을 활용한 문자열↔기본형 변환 절차 정리
• 문자·문자열 처리와 Character 메서드: char와 String 구조 및 널 문자 개념, Character.toLowerCase/toUpperCase 등 단일 문자 변환 기능 정리
[42강] String 클래스 실습
0: 38: 23
자바 래퍼·박싱 개념과 String 클래스 핵심 메서드 정리

• 래퍼 클래스와 오토 박싱/언박싱: 기본 자료형을 객체(Integer 등)로 포장·해제하여 JDK 5 이후 자동 형 변환 및 컬렉션 활용 기반 제공

• String 자료형과 불변성: 참조 자료형이자 불변 객체로 리터럴·new·char[] 기반 생성 방식을 가지며 concat·trim·replace 호출 시 항상 새 String 객체 반환

• 문자열 비교·전처리 메서드: equals/equalsIgnoreCase/compareTo로 내용·대소문자·사전식 크기 비교를 수행하고 trim·replace·split으로 양끝 공백 제거, 부분 문자열 치환, 구분자 기준 분리 및 String 배열 처리 수행
[43강] StringBuffer, StringTokenizer, Math 클래스 실습
0: 42: 50
스트링 버퍼와 토크나이저, Math 클래스 핵심 정리

• StringBuffer 클래스와 String 차이, 주요 메소드: 불변 String vs 가변 StringBuffer 구조, append/insert/replace/delete/reverse/length/charAt를 통한 효율적 문자열 수정 및 조회 기능 정리
• StringTokenizer 클래스와 토큰 처리: 구분자 기반 토큰 분리 개념, hasMoreTokens·nextToken 메소드를 이용한 while 반복 구조와 순차적 토큰 소비 방식 정리
• Math 클래스와 static 메소드, 난수 생성: java.lang 소속 static 유틸리티 클래스 특성, abs/ceil/floor/sqrt/rint/random/round 메소드 동작과 정수 범위 난수 생성·로또 번호 생성 로직(범위 스케일링·정수화·중복 제거 알고리즘) 정리
[44강] Calendar 클래스 실습
0: 26: 08
자바 Calendar 클래스 기본 개념 및 활용 정리

• Calendar 클래스 개념과 위치: java.util 패키지의 날짜·시간 관리용 추상 클래스, static 필드 상수 기반 시간 단위(YEAR, MONTH, DATE, HOUR_OF_DAY 등) 제공
• Calendar 객체 생성·조회·설정: Calendar.getInstance()로 객체 생성, get(int field)로 필드값 조회, clear()·set(year, month, date)로 날짜·시간 재설정
• 시간·달력 필드 활용: MONTH·DAY_OF_WEEK 인덱스 규칙(월 0부터, 요일 SUNDAY=1)과 WEEK_OF_YEAR·AM_PM·MINUTE·SECOND·MILLISECOND 등을 이용한 주차·요일·시·분·초·밀리초 단위 시간 처리 및 분기 로직 구현
7장. 제네릭과 컬렉션
[45강] 컬렉션과 제네릭 실습
0: 57: 30
자바 컬렉션과 Vector, 제네릭 기본 구조 정리

• 자바 컬렉션 프레임워크: 배열의 정적 메모리 한계를 보완하는 동적 자료구조 인터페이스 집합으로, Collection(List·Set·Queue)과 Map 계열의 계층 구조를 통해 다수 객체를 유연하게 저장·관리

• Vector 클래스: List 인터페이스 구현 동적 배열 컬렉션으로, add·addAll·capacity·contains·elementAt·indexOf·remove·set·size 등의 메서드로 순서 유지, 자동 용량 확장, 요소 조회·수정·삭제 기능 제공

• 제네릭과 사용자 정의 객체 저장: Vector 제네릭을 통해 Object 기반 형 변환 없이 타입 안전성 확보하고, Point 등 사용자 정의 클래스 객체를 저장·순회하며 toString 오버라이딩으로 출력 형식 제어
[46강] 제네릭 컬렉션 활용 실습 (1)
0: 52: 47
Summary Content:
자바 ArrayList와 Vector 비교, 리스트 활용 예제 정리

• 자바 컬렉션 및 ArrayList 개념: 배열 대비 동적 메모리·가변 길이 저장 구조, List 인터페이스 구현체로 객체·제네릭 기반 순서 보장 리스트 제공

• Vector·스레드·동기화 개념: 프로세스·스레드 실행 단위와 공유 자원 동기화 원리 이해, Vector의 내장 synchronized 처리와 ArrayList의 비동기화·성능 중심 설계 비교

• ArrayList 활용 및 주요 메서드: add/get/size/contains/indexOf/remove/clear 등 리스트 조작 API와 초기 용량·자동 확장 구조를 사용해 문자열 최장 길이 탐색 알고리즘 구현
[47강] 제네릭 컬렉션 활용 실습 (2)
0: 23: 04
Java 컬렉션과 Iterator 인터페이스 핵심 정리

• Java 컬렉션 구조(List, Set, Map) : 리스트(순서 유지·중복 허용), 세트(순서 없음·중복 불가), 맵(Key-Value·Key 중복 불가) 특징 및 데이터 저장·검색 방식 비교
• Iterator 인터페이스 : 컬렉션 구조와 무관하게 순차적 데이터 검색을 표준화하는 인터페이스로 hasNext(), next() 패턴, 제네릭을 통한 타입 안정성, NoSuchElementException 발생 조건 정리
• Vector와 Iterator 활용 및 리팩토링 : Vector 컬렉션을 Iterator로 순차 순회하며 합계 계산하는 절차와 반복문 내 변수 선언 위치 최적화 등 코드 리팩토링 원칙 정리
[48강] 제네릭 만들기 실습
0: 51: 33
자바 HashMap과 제네릭, 응용 예제 정리

• HashMap 핵심 개념·메소드: 키–값 쌍 구조, 유일 키와 덮어쓰기 특성, put/get/remove/size/isEmpty/keySet 등 기본 연산과 내부 검색·저장 동작 이해

• 제네릭 기반 타입 설계: HashMap 제네릭 선언으로 키·값 타입을 명시하고 String–String, String–Integer, String–사용자 정의 클래스 등 타입 안전한 컬렉션 구조 설계

• HashMap 응용 패턴: keySet·Iterator를 이용한 전체 순회 구조와 영어 단어 사전, 성적 관리, 학생 정보 관리 예제를 통해 실전 데이터 매핑·조회·관리 로직 구현 패턴 학습
[49강] 리스트와 제네릭 실습
0: 44: 49
자바 LinkedList, Collections 클래스와 제네릭(Generic) 스택 구현 정리

• LinkedList 및 Collections 유틸리티 클래스: LinkedList 구조·주요 메소드(get, getFirst, getLast 등)와 Collections의 정렬(sort), 역정렬(reverse), 이진검색 지원 기능을 통한 컬렉션 조작 방법 정리
• 이진검색(Binary Search) 알고리즘: 정렬 선행 조건, low/high/mid 인덱스 기반의 구간 절반 축소 절차와 순차검색 대비 시간복잡도 O(log n) 특성 정리
• 제네릭(Generic)과 제네릭 스택(GStack): 타입 매개변수 개념(T, K, V, E), 제네릭 클래스 정의·사용(MyClass), Object 배열 기반 제네릭 스택(GStack)의 push/pop 로직과 타입 안전한 코드 재사용 구조 정리
8장. 입출력 스트림과 파일 입출력
[50강] 자바의 입출력 스트림 실습
0: 41: 13
자바 입출력 스트림 기본 개념과 파일 읽기 실습 정리

• 자바 스트림 개념과 종류: 프로그램과 외부 장치 간 데이터 통로로서 입력/출력 스트림, 바이트 스트림(...Stream)과 문자 스트림(...Reader/Writer) 구조 및 키보드/파일/네트워크 입출력 방식 정리
• 파일 입력 처리 구조: FileInputStream과 read()를 이용한 바이트 단위 파일 읽기, EOF(-1) 기반 while 반복, 예외 처리(FileNotFoundException 등)와 스트림 close()를 통한 자원 관리 절차 정리
• 아스키 코드와 형 변환: 키보드·파일 입력 시 int(아스키 코드) 반환 특성, InputStreamReader를 통한 바이트→문자 변환, int→char 캐스팅으로 실제 문자 출력하는 과정 정리
[51강] 바이트 스트림과 파일 입출력 실습
0: 24: 04
자바 FileOutputStream과 FileInputStream을 이용한 파일 입출력 원리

• 바이트 스트림 기반 파일 입출력 구조: FileOutputStream·FileInputStream으로 1바이트 단위 쓰기/읽기 수행, 스트림 생성→입출력 메소드 호출→close로 자원 해제
• 예외 처리와 파일 경로 관리: 잘못된 경로·파일명에서 발생하는 FileNotFoundException 등 예외를 try-catch로 처리하고, 상위 Exception 활용으로 공통 예외 대응
• write/read 메소드와 ASCII 코드 동작: int·byte·배열 write 시 값에 해당하는 ASCII 코드가 기록되고, read는 더 읽을 데이터가 없을 때 -1을 반환하는 반복 읽기 구조 이해
[52강] 문자 스트림과 파일 입출력 실습
0: 44: 27
문자 스트림과 FileReader/FileWriter 활용 요약

• 문자 스트림과 유니코드 개념: 유니코드 기반 문자 스트림과 바이트 스트림의 차이, Reader/Writer 계열을 통한 문자 전용 입출력 구조 정의

• 문자 스트림 클래스 구조와 파일 입력: FileReader·FileInputStream+InputStreamReader 조합의 역할, read()와 EOF(-1) 처리, 예외 처리와 close() 중심의 텍스트 파일 읽기 절차 정리

• 파일 출력 및 키보드 입력 저장 흐름: FileWriter를 이용한 텍스트 파일 쓰기, 덮어쓰기 특성과 append 개념, System.in+InputStreamReader+FileWriter 연결을 통한 키보드 입력 파일 저장 과정 요약
[53강] 버퍼 입출력과 파일 입출력, File 클래스 실습
0: 45: 21
자바 I/O 버퍼 스트림과 File 클래스 핵심 정리

• 버퍼 스트림 개념과 구조: 바이트/문자 버퍼 스트림(BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter)을 사용해 데이터를 버퍼에 모아 일괄 입출력하고, 버퍼 크기와 flush/close를 통해 성능과 출력 타이밍을 제어함

• BufferedOutputStream 활용: 파일/키보드 입력을 버퍼 단위로 화면에 출력하며 자동 flush 조건과 flush() 강제 호출 시점을 이해하고, 작업 특성에 맞는 버퍼 크기를 선택해 I/O 호출 오버헤드를 최소화함

• File 클래스 활용: File 객체를 통해 파일/디렉토리 경로 관리, 존재 여부·타입 판별(exists, isFile, isDirectory), 디렉토리 목록 조회(list, listFiles), 파일 크기·수정 시간 확인(length, lastModified), 권한 확인(canRead, canWrite, canExecute)과 디렉토리 생성(mkdir) 로직을 구성함
9장. 자바 GUI 기초, AWT와 스윙(Swing)
[54강] 자바의 GUI, 자바 GUI 패키지 실습
0: 51: 32
Java GUI 프로그래밍 AWT와 Swing 개념 및 기본 프레임 구성 요약

• AWT와 Swing GUI 라이브러리: AWT의 운영체제 의존·성능 한계를 기반으로 Swing이 경량·고성능·JComponent 중심 구조로 확장된 Java GUI 프레임워크 특징 정리
• 패키지·라이브러리·Javadoc: java.awt·javax.swing 패키지 구조, 패키지와 라이브러리의 개념 차이, Java API(Javadoc)로 클래스·메소드 참조 및 계층 구조 탐색 방법 정리
• JFrame과 상속 기반 GUI 설계: JFrame 창 생성과 set 계열 메소드(크기·위치·제목·표시) 사용, Object→Component→Container→JComponent→JFrame 상속 계층과 JFrame 상속·생성자 초기화 패턴 정리
[55강] 스윙 GUI 프로그램 만들기와 컨테이너(Container) 실습
0: 34: 34
Java Swing JFrame과 패널을 이용한 기본 GUI 구성 원리 요약

• JFrame 상속과 생성자 초기화 패턴: JFrame 하위 클래스 정의, main에서는 객체 생성만 담당, 프레임 제목·크기·위치·가시성 등 속성은 생성자에서 초기화하는 구조
• 컨텐트 패널과 레이아웃 구조: JFrame의 Content Pane(Container) 얻기·교체 후 컴포넌트 부착, FlowLayout 등 레이아웃 관리자를 통해 자동 정렬·줄바꿈 기반 컴포넌트 배치
• 종료 처리와 프로세스 정리: setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)로 창 닫기 동작을 애플리케이션 종료에 연결, System.exit(코드)로 정상·비정상 종료 상태를 명시하며 프로세스와 메모리 해제 처리
[56강] 배치(Layout), FlowLayout 배치관리자, BorderLayout 배치관리자 실습
0: 32: 59
자바 GUI 배치 관리자 FlowLayout과 BorderLayout 비교 정리

• 레이아웃·배치 관리자 개념: 컨테이너(JPanel, ContentPane)에 setLayout()으로 배치 규칙 설정하여 컴포넌트 위치·정렬·간격을 창 크기 변화에 따라 자동 조정하는 구조

• FlowLayout 배치 구조: 컴포넌트를 상단 중앙 기준 좌→우 흐름으로 배치하고 공간 부족 시 자동 줄바꿈하며, Alignment(LEFT/CENTER/RIGHT)와 Hgap/Vgap(픽셀 간격)을 생성자·setter로 설정하는 단순 레이아웃

• BorderLayout 배치 구조: 컨테이너를 NORTH/SOUTH/EAST/WEST/CENTER 다섯 영역으로 분할해 add(컴포넌트, 위치상수) 방식으로 한 영역당 1개 컴포넌트를 배치하고, 패널 중첩·서로 다른 레이아웃 조합으로 복합 GUI 화면을 설계하는 기본 골격 레이아웃
[57강] GridLayout 배치관리자, 배치관리자 없는 컨테이너 실습
0: 46: 28
자바 GridLayout과 배치관리자 없는 컨테이너 정리

• GridLayout과 JFrame 활용: GridLayout으로 컨테이너를 균일 격자(행·열, Hgap·Vgap)로 분할해 추가 순서대로 컴포넌트 배치하고, JFrame을 상속 또는 직접 생성하여 setTitle·setSize·setVisible 등 프레임 설정 메소드 활용

• Layout Manager 기반 배치: Content Pane에 BorderLayout·FlowLayout·GridLayout 등 배치 관리자를 설정하고, getContentPane와 setLayout, add를 통해 컴포넌트를 자동 정렬·리사이즈되는 구조로 관리

• null layout과 좌표 기반 배치: setLayout(null)로 배치 관리자를 제거하고 각 컴포넌트에 setLocation·setSize·add로 좌표 기반 배치를 수행하며, 창 크기 변경 시 자동 재배치 부재·해상도 의존성 등 한계를 가지나 고정 크기·정밀 좌표 UI에서 제한적으로 활용
10장. 자바의 이벤트처리
[58강] 이벤트 기반 프로그래밍, 이벤트 객체 실습
0: 36: 32
자바 GUI 프로그래밍 이벤트 처리 기초 개념 정리

• 이벤트 기반 프로그래밍 개념: 사용자·외부 입력을 이벤트로 모델링하고, 발생 시점에 대응 코드가 실행되도록 이벤트 처리 흐름(이벤트 발생 → 이벤트 정보 객체 생성 → 이벤트 리스너 검색·호출 → 리스너에서 처리)으로 제어하는 구조

• 이벤트 객체 및 계층 구조: java.util.EventObject를 최상위로 AWTEvent, ComponentEvent, InputEvent, MouseEvent, KeyEvent, ActionEvent, ItemEvent, FocusEvent, TextEvent, WindowEvent 등으로 확장하여 이벤트 종류·소스·좌표·입력 값 정보를 공통 인터페이스로 제공하는 상속 구조

• 대표 이벤트와 주요 메서드: 버튼·텍스트필드·메뉴·체크박스·윈도우 등 컴포넌트별 ActionEvent, ItemEvent, 키/마우스/포커스/텍스트/윈도우 이벤트를 매핑하고, getSource·getButton·getClickCount·getLocationOnScreen·getX/getY·getKeyChar 등 Getter 메서드로 발생 위치·종류·값을 조회해 분기 처리 로직을 구현하는 방식 정리
[59강] 이벤트 리스너 실습
0: 40: 13
자바 GUI 프로그래밍 이벤트 리스너 개념과 마우스 리스너 사용법

• 이벤트·이벤트 리스너 개념: 사용자/시스템 사건을 표현하는 이벤트와 이를 처리하는 리스너 인터페이스 구현, 이벤트 객체 전달에 따른 처리 흐름 구조 이해

• GUI 프레임·컨테이너 구조와 컴포넌트: JFrame·컨텐트팬·레이아웃 매니저 구조에서 버튼 등 컴포넌트 생성·배치와 add(), setLayout() 등 기본 설정 절차 정리

• 마우스 리스너 구현과 등록: MouseListener 인터페이스 구현, 추상 메소드 오버라이딩(mouseClicked·mouseEntered 등), 버튼에 addMouseListener()로 리스너 등록 및 다양한 리스너(KeyListener, ActionListener 등) 확장 구조 이해
[60강] 다양한 이벤트 리스너 작성방법 실습 (1)
0: 40: 12
자바 AWT/Swing 이벤트 리스너 개요와 실습 구조 정리

• 자바 GUI 이벤트 처리 구조: 이벤트 발생 → 이벤트 객체 생성 → 해당 리스너 인터페이스(ActionListener, ItemListener, KeyListener, MouseListener, MouseMotionListener, FocusListener, WindowListener 등)로 전달 → 콜백 메서드에서 getSource()와 다운캐스팅을 통해 컴포넌트 상태 제어
• 이벤트 리스너 설계: JFrame 상속 구조(Object → Component → Container → Window → Frame → JFrame) 이해, 리스너 구현 클래스에서 인터페이스 구현 및 추상 메서드 오버라이딩, super() 호출 의미와 this/super 참조 관계 정리
• 복합 이벤트 처리 실습: JButton에 ActionListener·MouseListener 동시 등록, actionPerformed로 텍스트 토글, mouseEntered/mouseExited로 배경색 변경, 하나의 클래스에서 다중 인터페이스 구현과 addXXXListener 메서드를 이용한 리스너 등록 방식 정리
[61강] 다양한 이벤트 리스너 작성방법 실습 (2), 어댑터 클래스 실습
0: 51: 39
이벤트 리스너 작성 방식과 어댑터 클래스 활용 정리

• 이벤트 리스너 작성 방식: 독립 클래스·이너 클래스·익명 클래스를 이용해 이벤트 객체 처리 구조를 설계하고, 응집도·재사용성·가독성 기준으로 리스너 구현 방식을 선택함
• 마우스 이벤트 처리 구조: JFrame·JPanel·JLabel 배치와 좌표계(setLocation, getX, getY)를 기반으로 MouseListener 등록 대상 컴포넌트에 클릭 이벤트를 연결해 텍스트 이동 동작을 구현함
• 어댑터 클래스 활용: MouseAdapter·KeyAdapter 등 어댑터 클래스를 상속해 필요한 메서드만 선택적으로 오버라이딩하고, 리스너 인터페이스 다중 구현 방식과 비교해 코드 간결성·다중 이벤트 처리 가능 여부 기준으로 사용 기준을 정립함
[62강] KeyEvent와 KeyListener, MouseEvent와 MouseListener, MouseMotionListener 실습
0: 58: 21
키 이벤트와 마우스 이벤트 리스너·어댑터 구현 핵심 정리

• 키·마우스 이벤트 개념: 포커스를 가진 컴포넌트에서 KeyEvent·MouseEvent가 발생하며, 키 입력(Pressed·Released·Typed)과 마우스 클릭·이동·드래그 동작을 이벤트 메커니즘으로 처리

• 키 이벤트 처리 구조: KeyListener 인터페이스와 KeyAdapter 어댑터를 통해 keyPressed·keyReleased·keyTyped를 구현하고, addKeyListener·requestFocus 및 KeyEvent의 getKeyCode·getKeyChar·getKeyText로 코드·문자·텍스트 정보를 획득

• 마우스 이벤트 처리 구조: MouseListener·MouseMotionListener 인터페이스로 mouseClicked·Entered·Exited·Pressed·Released·Dragged·Moved를 구현하고, addMouseListener·addMouseMotionListener 및 MouseEvent의 getX·getY·getButton·getClickCount·isPopupTrigger로 좌표·버튼·클릭 횟수·팝업 트리거를 처리
11장. 기본적인 스윙 컴포넌트와 활용
[63강] 스윙 기본 컴포넌트 실습
0: 56: 43
Summary Content:
Java Swing JComponent와 JLabel 핵심 메서드 및 이벤트 처리 정리

• JComponent 공통 기능: Swing 컴포넌트의 공통 부모로 모양(setForeground, setBackground, setFont), 상태(setVisible, setEnabled, isVisible), 위치·크기(getX, getY, getWidth, getHeight), 컨테이너 관계(getParent, add) 메서드 범주와 set/get/is 명명 규칙 제공

• 컨테이너와 이벤트 구조: JFrame의 contentPane(getContentPane)·레이아웃(setLayout)·컴포넌트 추가(add) 및 JButton의 addActionListener, ActionListener 구현(actionPerformed, getSource)으로 이벤트 중심 GUI 흐름 구성

• JLabel·ImageIcon·JButton 활용: JLabel로 텍스트·이미지 출력, ImageIcon으로 이미지 로딩 후 JLabel·JButton에 적용하여 텍스트 레이블, 이미지 레이블, 이미지 버튼 및 텍스트+이미지 버튼 UI 구성
[64강] 기본적인 스윙 컴포넌트와 활용 실습 (1)
0: 56: 53
GUI 텍스트 컴포넌트와 리스트·콤보 상자 핵심 정리

• 텍스트 컴포넌트(JTextField, JTextArea) : 단일 행·다중 행 텍스트 입력/출력 컴포넌트로 setEditable, setText, setFont, select, append 등을 통해 편집 가능 여부·내용·서식·선택 범위를 제어하고 JScrollPane과 결합해 스크롤 기능을 제공함
• 리스트·스크롤 연동(JList + JScrollPane) : 문자열 배열 등 데이터를 목록 형태로 표시하고 단일/다중 선택을 지원하며, 자체 스크롤이 없으므로 JScrollPane에 삽입해 많은 항목을 스크롤 탐색 가능하게 구성함
• 콤보 상자(JComboBox)와 이벤트 처리 : 접힌 형태로 하나의 선택값만 보여주고 펼침 시 후보 목록을 제공하며, ActionListener와 getSelectedIndex 등을 이용해 사용자의 선택 이벤트를 처리하고 선택 결과를 프로그램 로직에 활용함
[65강] 기본적인 스윙 컴포넌트와 활용 실습 (2)
0: 42: 35
JSlider와 ChangeListener를 활용한 Java GUI 슬라이더 프로그래밍 핵심 정리

• JSlider 컴포넌트 개념·구조: javax.swing의 연속값 조절 컴포넌트로, 수평·수직 방향, 최소·최대·초기값, 눈금·레이블·트랙 표시를 생성자와 setOrientation·setMaximum·setMinimum·setPaintLabels·setPaintTicks·setMajorTickSpacing·setMinorTickSpacing 등 메소드로 설정

• Java GUI 프레임 구성과 이벤트 처리: JFrame 상속 후 getContentPane·setLayout·add로 JSlider·JLabel 등 컴포넌트 배치, setTitle·setDefaultCloseOperation·setSize·setVisible로 창 구성, 슬라이더 값 변화 시 ChangeEvent 발생과 ChangeListener의 stateChanged 메소드에서 getValue를 이용해 실시간 UI 변경 처리

• RGB 색상 조절 슬라이더 예제 구조: R·G·B 세 JSlider를 배열로 수평(0~255, 초기 128) 생성·레이아웃 배치 후 각각에 ChangeListener 등록, stateChanged에서 세 슬라이더 값을 읽어 new Color(r,g,b) 생성 후 JLabel setBackground와 setOpaque(true)로 배경색을 실시간 갱신하는 이벤트 기반 색상 조합 구현
12장. 그래픽
[66강] 스윙 컴포넌트 그리기, Graphics 실습
0: 28: 39
자바 스윙 Graphics와 paintComponent를 이용한 2D 그리기 기초

• 자바 Swing 그래픽스 구조: JComponent의 paintComponent(Graphics g) 오버라이딩을 통해 컴포넌트가 스스로를 그리는 구조와 이벤트(리사이즈·가림·노출)에 따른 자동 재그리기 라이프사이클 이해

• Graphics·좌표계·텍스트 출력: Graphics 객체의 drawRect·drawString 등 drawXXX 메소드 활용, 좌표계(왼쪽 상단 (0,0), x→오른쪽·y→아래) 기반 사각형과 문자열 배치 방식 정리

• Color·Font를 이용한 시각 효과: Color 상수·RGB·16진수 색 지정과 setColor, Font(글꼴·스타일·크기) 및 setFont, 반복문과 결합한 폰트 크기·위치 변화 등 동적 텍스트 효과 구현 원리 정리
[67강] 도형 그리기와 칠하기, 이미지 그리기 실습
0: 41: 22
Java Swing 그래픽 도형·이미지 그리기 심화 핵심 정리

• Java Swing 그래픽 구조: JFrame 상속 + JPanel 이너 클래스 + paintComponent(Graphics) 오버라이딩 패턴에서 Graphics 객체로 선·원·사각형·호·다각형을 draw 계열 메소드로 그리는 기본 구조

• 도형 채우기·이미지 처리: draw 계열과 대비되는 fillRect·fillOval·fillRoundRect·fillArc·fillPolygon 등 fill 계열 메소드로 내부 색 채우기, ImageIcon→Image 로딩 후 drawImage 오버로드를 이용한 원본 출력·크기 조정·부분 잘라 그리기 구현

• 클리핑 영역 제어: Graphics.setClip(x, y, width, height)으로 유효 그리기 영역(클립)을 지정하고, 그 안에서만 drawImage·drawString 등이 보이도록 하여 특정 영역 강조·마스크·이미지 합성 효과 구성
13장. 스레드와 멀티태스킹
[68강] 멀티태스킹, 자바의 멀티스레딩 실습
0: 38: 03
Summary Content:
자바 멀티스레딩 기초 개념과 JVM, 멀티태스킹 구조 정리

• 프로그램·프로세스·스레드 계층 구조: 프로그램(코드 집합)·프로세스(실행 중인 프로그램)·스레드(프로세스 내 실행 단위) 개념 정의와 자바 메인 스레드를 포함한 단일 스레드 구조 및 한계 정리

• 멀티스레드·멀티태스킹 동작 원리: 하나의 프로세스 내 다수 스레드를 통한 동시성 구현, CPU의 고속 스레드 전환에 의한 가상 동시 실행, 게임·채팅·네트워크 등 동시 상호작용 요구 환경에서 멀티스레딩 필요성 및 스케줄링·우선순위 개념 정리

• 자바 멀티태스킹 구조와 JVM 역할: 자바의 멀티스레딩 중심 멀티태스킹 모델, 하나의 JVM당 하나의 자바 응용 프로그램과 다수 스레드 구성, JVM의 스레드 상태·실행 위치·우선순위 관리와 OS·하드웨어 위계 구조 정리
[69강] 스레드 개요 실습
0: 31: 44
Java 멀티스레드 생성과 Thread 클래스 활용 핵심 정리

• Java 멀티스레드 기본 개념: 스레드를 CPU 최소 실행 단위로 정의하고, 메인 스레드와 추가 스레드를 통한 멀티태스킹·멀티스레드 구조 및 JVM 내 스레드 실행 흐름을 설명
• Thread vs Runnable 스레드 생성 방식: Thread 상속과 Runnable 구현의 차이·선택 기준(단일 상속 제약, 인터페이스 다중 구현, 구현 메소드 수, 코드 간결성)을 비교하고 스레드 실행 로직인 run 메소드 구현 방식을 정리
• Thread 클래스 구조와 주요 기능: java.lang.Thread의 Runnable 구현 관계, 우선순위 상수(MAX_PRIORITY, NORM_PRIORITY, MIN_PRIORITY)와 스케줄링, 생성자와 핵심 메소드(start, run, sleep, join, interrupt, isDaemon/setDaemon, setPriority, currentThread 등)를 이용한 스레드 생성·상태 제어·실행 흐름 관리 절차 정리
[70강] 스레드 만들기(Thread) 실습
0: 36: 45
자바 Thread로 타이머 구현과 GUI 연동 핵심 정리

• Thread 타이머 구조: Thread 상속, run 메소드와 while(true)+sleep(1000) 기반 1초 단위 카운트, InterruptedException 예외 처리 및 스레드 생명주기(시작·종료·재사용 불가) 정리
• 멀티스레드 환경과 메인 스레드: 메인 스레드와 사용자 정의 타이머 스레드 병렬 실행 구조, 메인 스레드의 스레드 객체 생성·start 호출 역할 및 부 스레드 동작 관계 정리
• GUI 연동 타이머 설계: JFrame 상속, Container·레이아웃·JLabel 구성, JLabel을 스레드 생성자 인자로 전달해 인스턴스 변수로 보관 후 run에서 setText로 값 갱신하는 패턴 정리
[71강] 스레드 만들기(Runnable), 스레드 생명 주기와 스케줄링 실습
0: 58: 15
Runnable 인터페이스를 이용한 스레드 구현과 스레드 상태 개념 정리

• Runnable 기반 스레드 구현: Thread 상속과 Runnable 구현의 차이·장단점, GUI 컴포넌트(JLabel·JFrame)와 Runnable 결합, Timer·깜빡이는 레이블 등 다중 상속 친화적 스레드 구조 설계

• Thread 핵심 메타데이터와 조회: 스레드 이름·ID·프로그램 카운터·상태·우선순위·스레드 그룹·스택의 의미와 역할, Thread.currentThread()를 통한 현재 스레드 정보 접근 및 우선순위 설정 구조

• Thread 상태 모델과 전이: NEW·RUNNABLE·WAITING·TIMED_WAITING·BLOCKED·TERMINATED 여섯 상태 정의, start·run·yield·wait·notify·sleep·IO·종료에 따른 상태 전이 규칙과 멀티스레드 제어 원리
[72강] 스레드 종료 실습
0: 53: 51
Thread 종료와 interrupt 및 플래그 활용 정리

• Thread 종료 기본 원리: Thread 정의(run 메소드), start 실행 흐름, run 메소드 자연 종료·return을 통한 정상 종료 구조 정리
• interrupt 기반 종료 구조: 다른 Thread의 interrupt 호출, sleep 중 InterruptedException 발생, catch에서 return으로 종료되는 타이머·GUI 버튼 연동 패턴 정리
• 플래그 기반 종료 구조: boolean flag·finish 메소드로 상태 제어, 반복 루프 내 flag 검사, 마우스/버튼 이벤트에서 flag 변경 후 화면 정리·메시지 출력 및 Thread 종료 흐름 정리
[73강] 스레드 동기화 실습
1: 06: 00
멀티스레드 환경에서의 Thread 동기화와 synchronized, wait/notify

• 멀티스레드 동기화 개념: 공유 자원·임계 영역·모니터를 통해 race condition을 방지하고, synchronized 메소드·블록으로 한 시점 하나의 스레드만 접근하도록 제어하는 구조
• 스레드 상태·스케줄링: new, runnable(ready), running, waiting, blocked, terminated 6가지 상태와 start, yield, sleep, wait/notify에 따른 상태 전이를 이해하고 비결정적 실행 순서를 전제로 동기화 설계하는 절차
• wait/notify 협력 모델: Object의 wait, notify, notifyAll을 synchronized 영역에서 사용해 생산자–소비자처럼 조건 충족까지 대기·깨우기를 수행하고, 공유 객체 단위로 스레드 간 협조적 동작을 구현하는 방식
14장. 고급 스윙 컴포넌트
[74강] 메뉴만들기, 툴바, 툴팁 실습
0: 56: 51
고급 스윙 컴포넌트: 메뉴, 툴바, 툴팁 구현 정리

• 스윙 메뉴 컴포넌트 구조: JMenuBar–JMenu–JMenuItem–JSeparator 계층으로 메뉴를 구성하고, JMenuItem 배열·반복문과 공용 ActionListener(이너 클래스, getActionCommand, switch-case)로 동적 메뉴 생성 및 이벤트 처리 구현
• JToolBar 툴바 구성: JToolBar를 BorderLayout 상단 등 원하는 위치에 배치하고, JButton·JLabel·JTextField·JComboBox 등을 add와 addSeparator로 그룹화하여 도구 모음 인터페이스 구성
• 툴팁과 ToolTipManager: setToolTipText로 컴포넌트별 툴팁을 설정하고, ToolTipManager.sharedInstance의 setInitialDelay·setDismissDelay로 모든 툴팁의 표시 지연·유지 시간을 전역적으로 제어
[75강] 다이얼로그 만들기, 팝업 다이얼로그 실습
0: 40: 46
자바 Swing 다이얼로그와 팝업 다이얼로그 동작 원리 정리

• JDialog와 기본 다이얼로그 구조: JFrame 기반에서 JDialog 서브클래싱·생성자 설정·컴포넌트 배치·setVisible 호출로 사용자 정의 대화 상자를 구성하는 절차와 이벤트 연결 방식

• Modal / Modeless 다이얼로그 개념: Modal 다이얼로그의 부모 창 입력 독점·코드 실행 차단 vs Modeless 다이얼로그의 동시 사용 가능성 및 JDialog 생성자(boolean)로 모달리티 제어 방식

• Modal 값 전달 및 JOptionPane 팝업: Modal 다이얼로그에서 getInput 메소드와 setVisible(true) 동기 흐름을 통한 값 반환 구조와, JOptionPane의 showInputDialog·showConfirmDialog·showMessageDialog 및 관련 상수(YES/NO/ERROR 등)를 이용한 표준 팝업 구성 방법
[76강] 파일 다이얼로그, 컬러 다이얼로그, 탭팬 실습
0: 42: 50
Summary Content:
• 파일 다이얼로그(JFileChooser): 파일 열기·저장용 대화 상자로 파일/디렉터리 목록을 보여주고 선택된 파일 경로만 반환하며, 확장자 필터·showOpenDialog·APPROVE_OPTION을 통해 선택 결과를 확인하고 실제 입출력은 별도 코드에서 처리함
• 컬러 다이얼로그(JColorChooser): 색상 선택 대화 상자로 showDialog를 통해 Color 객체를 반환하고, null 체크 후 컴포넌트의 전경색·배경색 등을 setForeground/setBackground로 동적으로 변경하는 데 활용함
• 탭팬(JTabbedPane): 하나의 프레임 내에서 여러 컴포넌트를 탭으로 관리하는 컨테이너로, 탭 위치 지정(JTabbedPane.LEFT 등), addTab("제목", 컴포넌트)로 이미지·커스텀 패널을 등록해 다중 화면을 탭 전환 방식으로 구성함
15장. 네트워크
[77강] TCP/IP, 서버-클라이언트 프로그래밍 실습
0: 49: 59
TCP/IP 네트워크 프로그래밍 기초와 자바 소켓 예제 정리

• TCP/IP · IP 주소 체계: TCP의 신뢰성 있는 전송(오류 검출·재전송·연결 지향)과 IP의 패킷 전달·호스트 식별 기능, IPv4·IPv6 주소 구조 및 도입 배경 정리
• 포트 · 소켓 통신 구조: IP·포트의 역할 분리, 포트 번호 범위와 well-known port, (IP, 포트) 쌍 기반 응용프로그램 식별, 소켓·ServerSocket 개념과 서버 다중 클라이언트 연결 구조 정리
• 자바 소켓 프로그래밍: Socket/ServerSocket 생성자·주요 메소드와 스트림 입출력 연결 절차, 서버·클라이언트 채팅 예제의 접속·메시지 송수신·종료 플로우 구현 단계 정리
16장. JDBC 프로그래밍
[78강] 데이터베이스 설치, JDBC 프로그래밍 실습
0: 38: 05
데이터베이스와 JDBC를 이용한 MySQL 연동 기초 정리

• 데이터베이스·DBMS·RDBMS 개념: 통합 공용 데이터 집합 구조, 테이블·필드·인스턴스 단위 저장, SQL을 통한 저장·검색·수정·삭제를 관리하는 시스템 원리 정리
• MySQL 및 SQL 실습 구조: MySQL 서버·Workbench 설치·서비스/스키마/테이블(student) 구성, 컬럼 정의와 INSERT·SELECT 중심의 기본 DML 실행 절차 정리
• JDBC 연동 구조: Java 프로그램–JDBC 드라이버–DBMS 연결 흐름, 드라이버 로드·Connection/Statement/ResultSet 사용, URL·계정 설정과 예외 처리에 따른 SELECT 결과 처리 패턴 정리
교수 사진

박길식 교수님

JAVA 프로그래밍 통합과정

  • 245,000원
  • 강의 수 78강
  • 수강기간 120일
유니와이즈 고객행복센터 1899-7454
학점은행제 고객행복센터 02-2149-0803~4
상담시간: 10:00~18:00
점심시간: 13:00~14:00
토요일,일요일,공휴일 휴무
유니와이즈 고객행복센터
1899-7454
학점은행제 고객행복센터
1833-6227
상담시간: 10:00~18:00
점심시간: 13:00~14:00
토,일,공휴일 휴무