
[SECTION01. 자바 프로그래밍의 기본] 1) JDK 설치 권장 버전: JDK 17 또는 21(LTS) 벤더는 상관없지만 Amazon Corretto JDK는 “자바 실행 + 컴파일러 + 개발 도구”를 포함한 패키지 2) 인텔리제이 IDEA 설치 Commu

[SECTION02. 변수와 자료형] ● 변수 = 데이터가 저장된 메모리의 별명 ● 변수 선언 메모리에 age, name이라는 저장 공간이 만들어짐. ● 변수 초기화 ● 변수 이름 규칙(매우 중요) 1) 숫자로 시작 불가 X 1age O age1 2)

[SECTION03. 연산자] ● 연산자(operator) = 값을 계산하거나 비교하거나 논리적으로 판단하는 기호 자바에서 연산자는 크게 아래 네 가지로 나뉜다. 산술 연산자 비교 연산자 논리 연산자 대입 연산자 ● 1) 산술 연산자 | 연산자 | 의미 | | --- | --- | | + | 더하기 | | - | 빼기 | | * | 곱하기 | | ...

[SECTION04. 제어문 - 1 (조건문)] 제어문(Control Statement) = 프로그램의 흐름을 원하는 대로 흐르게 조절하는 문법 기본적으로 3가지 흐름을 만든다. 위 → 아래로 순차 실행 조건에 따라 건너뛰거나 분기 (조건문) 특정 코드를 반복적으

[SECTION05. 제어문 - 2 (반복문)] ● 반복문(loop) = 특정 코드를 원하는 만큼 반복 실행하는 문법 반복문을 사용하는 이유 같은 코드를 여러 번 쓰지 않아도 됨 → 가독성↑ 유지보수↑ 반복 횟수 관리가 편함 조건에 따라 반복을 종료할 수 있음

[SECTION06-00. 종합 테스트 문제] 📝 문제 요약 지금까지 배운 기본 타입, 배열, 제어문(if, for, while, switch) 만 사용해서 간단한 학생 정보 관리 프로그램을 작성해 보세요. 학생 정보: 이름: String 나이: int 점수: int 학생은 최대 3명까지 저장할 수 있습니다. 3명을 다 등록한 상태에서 또 등록...

[SECTION07. 클래스(Class)] ● 객체(Object) = "현실 세계의 사물"을 프로그래밍으로 표현한 것 → 속성과 기능을 가진다. 예) “고양이 Java" 객체 속성(변수): 이름, 나이, 몸무게 기능(메서드): 울다(), 먹다(), 뛰다() ● 클래스(Class) = 객체를 만들기 위한 설계도(blueprint) 클래스를 기반으로...

[SECTION08. 메소드(Method)] 메소드(Method) = 특정 작업을 수행하는 코드 블록으로, 하나의 기능을 독립적으로 구성한 단위 매개변수(Parameter) = 메소드가 작업을 수행하기 위해 외부에서 전달받는 값 return = 메소드를 종료하고

[SECTION09. 생성자(Constructor)] ● 생성자(Constructor) = 객체가 만들어질 때 (new할 때) 가장 먼저 실행되는 초기화 메소드 위 코드가 실행되면, Student 클래스 안의 생성자가 자동으로 실행됨 ● 기본 생성자(Default

[SECTION09-00. 종합 테스트 문제] 문제 목표 지금까지 배운 배열, 반복문, 조건문, 클래스를 활용하여 콘솔 기반 학생 관리 프로그램을 만들어 보세요. 이 실습을 통해 “학생 정보처럼 여러 개의 값을 하나로 묶어 관리할 때 왜 클래스가 필요한지” 를 이

[SECTION10. 상속(Inheritance)] ● 상속(Inheritance) = 기존 클래스를 기반으로 새로운 클래스를 만드는 것 상속에서의 생성자 자식 객체를 생성하면 부모 생성자가 먼저 실행되고, 그 다음 자식 생성자가 실행됨 -예시: class Parent { public Parent() { System.ou...

[SECTION11. 다형성과 타입 변환] ● 다형성 = 하나의 타입(부모 클래스)으로 여러 형태(자식 클래스)의 객체를 다룰 수 있는 성질 변수 타입은 Animal 실제 객체는 Dog, Cat -예시: ● 타입 변환 업캐스팅 (Upcasting) = 자식 → 부모 타입으로 변환 Animal a = new Dog(); 다운캐스팅 (Downcas...

[SECTION10-00. 게시판 프로그램 작성] ● Exam01 ● BoardController ● BoardService 
[SECTION12. 추상 클래스와 인터페이스] ● 추상 클래스 = 완성되지 않은 클래스 객체를 직접 만들 수 없고, 상속을 통해서만 사용 ● 추상 메소드 = 몸체({})가 없는 메소드 자식 클래스에게 “이 메소드는 반드시 구현해라”라고 강제하는 역할 추상 클

[SECTION13. 컬렉션 프레임워크] ● 컬렉션 프레임워크 = 여러 개의 데이터를 효율적으로 저장하고 관리하기 위한 클래스들의 집합 배열보다 훨씬 유연하고 실무에서 필수적으로 사용됨 컬렉션 프레임워크 구조 ● 제네릭 = 컬렉션에 저장할 데이터 타입을 미리 지

[SECTION13-00. 종합 테스트 문제] 목표 이번 과제에서는 List(ArrayList) 를 사용하여 학생 정보를 관리하는 프로그램을 만든다. 프로그램 기능 요구사항 0. 메뉴 출력(반복) 아래 명령어를 반복 출력하고, 사용자가 0을 입력하면 종료한다. 1. 학생 등록 학생 정보를 입력받아 List에 추가한다. 등록할 정보: 이름, 나이...

[SECTION13. 컬렉션 프레임워크-3] 컬렉션 vs 배열 (정리) | 구분 | 배열 | 컬렉션 | | --- | --- | --- | | 크기 | 고정 | 가변 | | 기능 | 거의 없음 | 풍부 | | 실무 | 거의 사용 안 함 | 필수 | | 타입 | 하나 | 제네릭 지원 | 문제 1 학생 이름을 key로, 점수를 value로 저장하는 학생...

[SECTION16. 콘솔 게시판 + 회원가입/로그인] ● Main ● AppController 
[SECTION17. 웹 MVC] DemoApplication.java AuthController.java AuthState.java Post.java 
[SECTION18. Java Stream 기초] ● Java Stream = 컬렉션(List, Set 등)을 “선언형 방식”으로 처리하는 기능 기존 방식 (for문): 예시: Stream 방식: 예시: 기본 문법 구조 중간 연산: filter, map, sorted 최종 연산: forEach, collect, count 1) 필터링 (fil...

[SECTION19. MyBatis + H2로 학생 관리 프로그램 생성] ● 프로젝트 준비 Gradle 의존성 > Thymeleaf는 아직 안 붙여도 됨. 콘솔 앱으로 먼저 완성. > application.yml MODE=MySQL : 문법 호환 조금 더 편해짐(수업 안정성↑) map-underscore-to-camel-case : created_...

[SECTION21. JPA(Java Persistence API)] ● JPA(Java Persistence API) = 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스의 모음(표준 명세) > Spring Data JPA는 JPA를 더 편리하게 쓸 수 있도록 > > > Spring이 제공하는 추상화 레이어입니다. > ● ...

[SECTION22. JPA를 이용한 CRUD 구현] 주요 JPA 어노테이션 정리 | 어노테이션 | 설명 | | --- | --- | | @Entity | JPA 엔티티 클래스 선언(테이블과 연결하는 역할) | | @Table(name="...") | 매핑할 테이블 이름 지정 | | @Id | 기본 키(PK) 지정 | | @GeneratedValue |...

[SECTION 01. Java 웹의 출발점 — 서블릿으로 HTTP 직접 처리하기] IntelliJ에서 서블릿 프로젝트 만들기 Step 1. 프로젝트 생성 IntelliJ 실행 → New Project 클릭 왼쪽에서 Java 선택 설정값 입력 Create 클릭

[SECTION 02. View를 분리하자 — JSP와 MVC 패턴의 등장] JSP(Java Server Pages) = HTML 파일 안에 Java 코드를 삽입할 수 있는 기술 서블릿 vs JSP 비교 | | 서블릿 | JSP | | --- | --- | --

[능력 단위 평가] 문제 요구사항 정답 Board BoardController BoardRepository index.html write.html schema.sql application.properties

[SECTION 03. JSP에서 Java 코드를 사용하자 — 스크립틀릿] 스크립틀릿 패턴 완전 정복 패턴 1: 변수 선언과 출력 패턴 2: 조건문 (if / else) `` 블록은 여러 개로 쪼개도 됩니다. HTML을 사이에 끼워 넣을 수 있어요. > 핵심

[SECTION 05. 스프링을 이해하는 첫 걸음 — 싱글톤 패턴] 대표적인 디자인 패턴 | 패턴 | 한 줄 설명 | | --- | --- | | 싱글톤 (Singleton) | 객체를 딱 1개만 생성해서 공유 | | 팩토리 (Factory) | 객체 생성을 별도 클래스에게 위임 | | 전략 (Strategy) | 알고리즘을 캡슐화해서 바꿔 끼울 수...

With You - AI 빌더를 이용한 모바일 청첩장 서비스 만들기 프로젝트 개요 With You는 사용자가 직접 아름다운 모바일 청첩장을 만들고 공유할 수 있는 웹 서비스입니다. 결혼식 정보, 웨딩 사진, 혼주 연락처, RSVP 기능을 모두 담아 하객에게 특별한 초대 경험을 제공합니다. 핵심 기능 5가지 색감 테마 (로맨틱 핑크, 내추럴 베이지, ...

[SECTION 09. REST API는 왜 등장했는가] REST(Representational State Transfer) = 2000년 로이 필딩(Roy Fielding)이 자신의 박사 논문에서 제안한 웹 아키텍처 설계 원칙. 로이 필딩은 HTTP 프로토콜 설계에

[능력 단위 평가] [문제 1] 다음 빈칸을 채우시오. Spring에서 모듈 간 결합도를 낮추기 위해 구체 클래스 대신 ( ① )에 의존하도록 설계하며, 의존 객체를 외부에서 주입받는 방식을 ( ② )(이)라고 한다. [정답 1] 인터페이스 의존성주입 [문제 2] 아래 Spring 계층 구조에서 빈칸을 채우시오. ( ① ) → ( ② ) → R...

[SECTION 11. 데이터를 영구적으로 저장하자 — 스프링 부트 + JPA 입문] JPA(Java Persistence API) = Java 객체와 DB 테이블을 자동으로 매핑해주는 기술 ORM(Object-Relational Mapping) = Java 객체(

[JPA에서 알아야 할 @OneToMany / @ManyToOne] application.properties Post Comment

[SECTION01. 데이터베이스란 무엇인가?] 데이터 베이스 특징 동시성 제어: 여러 사용자가 동시에 읽고 써도 데이터가 깨지지 않도록 관리 데이터 정합성: 정해진 규칙(타입, 제약조건)에 맞지 않는 데이터는 저장 자체를 막음 대용량 처리 및 빠른 검색: 인덱스 등을 이용해 수백만 건 중에서도 빠르게 원하는 데이터를 찾음 관계 표현: 데이터 간의 연결...

[SECTION03. DDL 심화와 제약조건] DDL(Data Definition Language) = 테이블이나 데이터베이스의 구조 자체를 정의하는 명령어. CREATE TABLE도 DDL에 속함 ALTER TABLE — 컬럼 추가 기본값을 지정하면서 추가할 수도 있습니다. > 컬럼을 추가하면 기존에 저장되어 있던 행들은 새 컬럼 값이 NULL(또...

[SECTION04. 게시판 스키마 직접 설계하기 (실습)] 학습 목표 요구사항을 분석해서 필요한 테이블을 스스로 도출할 수 있다. 테이블 간의 관계(1:N, N:M)를 파악하고 FK로 설계할 수 있다. 지금까지 배운 데이터 타입과 제약조건을 종합적으로 적용할 수

[스프링 포트폴리오용] 요구사항 (기술 스펙) 1) Java (21버전) 2) 스프링 부트 3) MySQL / MariaDB 4) MyBatis + JPA -> QuerySQL MyBatis : 동적 쿼리를 생성 JPA : 정적 쿼리 생성 (CRUD) 5) Lo

[ECTION06. 샘플 데이터 입력 실습] 1. 각 테이블 CREATE 2. 입력 순서 — FK 관계 기억하기 SECTION04에서 배운 대로, 참조되는 테이블(부모)을 먼저 채워야 합니다. 3. member 테이블에 데이터 채우기 10명의 회원을 한 번에 등록했습니다. 등록 확인: 4. category 테이블에 데이터 채우기 5. board...

[SECTION09. 집계함수와 GROUP BY / HAVING] 집계함수 = 여러 행의 값을 하나로 합쳐서 계산하는 함수로, “전체 게시글 수”, “평균 조회수”처럼 통계성 정보를 뽑을 때 사용 | 함수 | 의미 | | --- | --- | | COUNT(컬럼 또는 *) | 행의 개수 | | SUM(컬럼) | 합계 | | AVG(컬럼) | 평균 | |...

[SECTION10. 통계성 쿼리 실습] 시나리오 1. 게시판 전체 현황 한눈에 보기 관리자 화면에 흔히 나오는 “오늘의 통계” 같은 형태입니다. 서브쿼리를 SELECT 안에 여러 개 넣으면, 서로 다른 테이블의 집계를 한 줄의 결과로 모을 수 있습니다. 시나리오 2. 카테고리별 활동 현황 시나리오 3. 회원별 활동 점수 매기기 “게시글 작성 수...

[SECTION 01. 파이썬 기초 문법 - 출력문, 주석, 자료형] 1. 출력문 (print) & 주석 (Comment) 출력문(print): 프로그램이 처리한 결과를 화면에 보여주는 창구입니다. 주석(#): 코드를 실행하지 않고 메모를 남길 때 사용합니다. 협

[SECTION 04. 파이썬 기초 문법 - 리스트] 1. 리스트 리스트(List)는 여러 개의 값을 순서대로 저장할 수 있는 자료형입니다. 대괄호 [] 안에 값을 넣어 만듭니다. 리스트는 순서(인덱스)를 가지고, 변경 가능(mutable) 합니다. 예제 1: 리스트 생성과 인덱싱 예제 2: 리스트 안의 다양한 자료형 2. 리스트의 연산 리스트는...

[SECTION 07. 파이썬 기초 문법 - 함수] 1. 함수 함수(Function)는 특정 작업을 묶어 이름을 붙여둔 코드 블록입니다. 함수를 사용하면 재사용성, 가독성, 유지보수성이 좋아집니다. def 키워드로 정의합니다. 예제 1: 간단한 함수 정의와 호출 예제 2: 매개변수와 return에 차이가 있는 함수 2. 매개변수와 return 함...

[SECTION 09. 파이썬 기초 문법 - 예외 처리] 1. 예외 처리란 프로그램 실행 중 잘못된 동작이 발생하면 예외(Exception)가 발생합니다. 예외 처리를 하지 않으면 프로그램이 강제 종료됩니다. try ~ except 구문을 이용해 예외 상황을 처리할 수 있습니다. 예외 처리를 하면 프로그램이 중단되지 않고 안전하게 동작합니다. 2. t...

[SECTION 11. 파이썬 기초 문법 - 모듈] 1. 모듈 모듈(Module): 파이썬 코드(변수, 함수, 클래스)를 담은 파일(.py) 다른 파일에서 불러와 사용할 수 있습니다. import 모듈명 으로 가져옵니다. 예제 1: 직접 만든 모듈 사용 예제 2

[능력 단위 평가] 요구사항 MyBatis를 이용한 Mapper를 생성할 것 간단한 CRUD는 JPA Repository로 구현할 것 테이블에 대한 생성(CREATE), 수정(ALTER), 삭제(DROP) DDL 명령문이 Mapper에 반영되어 있을 것 생성된 테이블

[SECTION 13. 파이썬 기초 문법 - Pandas 실전 활용: 외부 데이터 불러오기] 1. 파일 형식별 불러오기 도구 (IO Tools) Pandas는 거의 모든 형태의 데이터를 읽을 수 있습니다. 상황에 맞는 메소드를 선택하세요. | 함수 | 대상 파일 형식 | 설명 및 용도 | | --- | --- | --- | | read_csv() | ...