Java기반 Spring 백엔드 개발자로 성장하기를 희망하는 분들이 쉽게 취업에 성공할 수 있도록 제대로! 독하게! Java를 배웁니다!
이런 걸
배워요!
절차적 프로그래밍 원리 및 방법
기초적인 Java 문법
IntelliJ 사용방법 및 디버깅 기법
JVM 기본 구조
Java가 객체지향 프로그래밍 언어지만 이 강의는 객체지향 에 대해 다루지 않습니다.
대신 객체지향을 제대로 구사하기 전에 반드시 알아야 할
절차적 프로그래밍에 대해 깊게 다룹니다. 대략 19시간 이상!
Java로 빌드한 Java byte code가 JVM 상에서 로드되고 실행되는 과정과
작동 중 JVM 구성 요소들이 하는 일에 대해 배웁니다.
아직 깊게 배울 수 있는 것은 아니지만 탈초보급 이론들임은 보장합니다.
논리적으로 절차를 기술하는 방법부터 여러 상수들 중에 무엇을 변수로 결정해야 할 것인지
스스로 구분할 수 있도록 훈련합니다.
더불어 함수에 대한 이론과 더불어 설계 원칙까지 제시함으로써
객체지향 프로그래밍을 제대로 공부할 수 있는 기초를 완벽하게 갖출 수 있습니다.
📺 프로그래밍 입문자 여러분 꼭 시청해주세요! 📺
독하게 시작하는 Java 시리즈는 총 4개 강의로 이루어집니다.
부록 1,2 강의는 Spring 백엔드 개발자로 성장하기 위해 함께 들으면 좋은 강의입니다 🙂
Part 1 : 기초적인 문법, 절차적 프로그래밍
Part 2 : 객체지향 프로그래밍 + 자료구조
Part 3 : 시스템 활용 프로그램 작성
Part 4 : Spring Framework으로 넘어가기 위한 준비
부록 1 : 웹 인프라 기술에 대한 이해와 DB
부록 2 : SQL 고급
Part 1은 Spring framework 기반 Java 백엔드 실무 개발자가 되려는 분들을 위해 설계된 커리큘럼 중 첫 번째 수업입니다. 프로그래밍 언어의 문법을 넘어 그 본질을 이해하고 역량 있는 개발자가 되기 위한 초석을 다집니다.
#절차적 프로그래밍, #함수, #프로시저, #루틴, #가상머신, #바이트 코드,
#JDK, #JRE, #IntelliJ, #OpenJDK, #환경변수, #C++와 다른점, #디버깅 기법, #브레이크포인트,
#조건 브레이크 포인트, #JVM, #컴파일러, #인터프리터, #JIT 컴파일러, #빌드타임, #런타임, #링크,
#클래스 로더, #정수, #실수, #IEEE754, #부동소수점오차, #자료형, #객체, #Instacce, #Class,
#Modified UTF-8, #UTF-16 BE, #변수, #상수, #심볼릭 상수, #자동변수, #Stack, #Heap,
#키보드 Scan code, #콘솔, #I/O buffer, #항, #식, #구문, #식 평가, #연산자, #결합성,
#Type promotion, #나눗셈 원리, #Short circuit, #제어문, #반복문, #Scope, #배열, #Lookup table, #Deep copy, #Shallo copy, #Method, #Caller, #Callee, #bind, #식별자 검색순서, #Call stack,
#함수설계원칙, #Event loop, #매개변수 전달 기법, #Call by value,
#Call by reference, #재귀호출, #Overloading
프로그래밍 입문자들이 가장 힘들어하는 주제는 사실 스스로 인지하지도 못하는 경우가 많습니다. 그러나 이 강의가 끝난 후에는 자신이 잘하는 것과 그렇지 못한 것을 스스로 판단할 수 있는 분별력이 생깁니다!
문제(처리조건)을 명확히 분석하고 어떤 형태로 코드화 할 것인지 구체적으로 생각 할 수 있습니다. 또한 예제 작성 과정에서 발생하는 각종 오류에 스스로 대응 할 수 있는 실력이 생깁니다.
무엇보다 OOP 프로그래밍은 더 이상 두려움의 대상이 아니라 단순 학습대상이라는 사실을 체감 할 수 있습니다.
입문 단계임에도 JVM 구조를 비롯해 각종 구조적인 이론들을 함께 배웁니다.
이렇게 함으로써 Java로 개발한 응용 프로그램의 근본적인 작동원리를 이해 할 수 있습니다.
이는 결국 훗날 실무 개발자로 성장했을 때 신입 답지 않은 장애대응능력으로 결실을 맺을 것입니다.
※여기서 잠깐! JVM이란?
JVM(Java Virtual Machine)은 자바 프로그램을 컴퓨터에서 실행할 수 있도록 도와주는 가상의 컴퓨터입니다.
수업 중 각종 전문용어에 대해 상세히 다룰 뿐만 아니라 어떤 상황에서 사용해야 하는지 구체적으로 알 수 있습니다. 이는 고급 이론들에 관한 자료를 찾아보고 스스로 이해하기 위해 반드시 갖춰야 할 기술 어휘 능력이라 하겠습니다.
메서드(함수)에 대한 기초 이론은 이해의 대상이 아니라 암기해야 할 대상니다. 그리 어렵지 않게 이론을 배울 수 있지만 정작 어떤 코드를 메서드로 만들어야 하는지 스스로 판단하는 것은 쉽지 않습니다.
이 강의는 그러한 문제를 쉽게 극복하고 나아가 디자인 패턴을 이해하기 위한 원칙들에 대해 쉽게 설명합니다.
모든 수업 내용은 PPT자료를 기반으로 하지만 마치 화이트보드에 판서를 하는 것처럼 설명이 이어집니다. 이를 통해 수강자는 완성된 하나의 결과만 보는 것이 아니라 구조가 탄생하게 된 배경과 이유 전반에 대한 흐름을 종합적으로 이해 할 수 있습니다.
본격적인 Java 프로그래밍을 배우기에 앞서 본 수업이 취업을 목표로 하고 있음을 명확히 알립니다. 그리고 강사의 오랜 강의 경험을 근거로 명확한 학습로드맵과 소요시간을 제시합니다. 잘못된 선택으로 시간을 낭비하는 일이 없도록 처음부터 적절한 학습배분 및 일정을 수립하도록 유도합니다.
IntelliJ 디버거 사용방법을 구체적으로 배웁니다. 단순 Position breakpoint는 물론이고 조건식을 반영해 더욱 손쉽게 활용하는 방법도 다룹니다. 그리고 JVM에서 각 인스턴스들을 유일하게 식별 할 목적으로 부여된 ObjectID를 이용해 Deep copy와 Shallow copy를 구별하는 방법 등 실질적인디버깅 방법을 경험할 수 있습니다.
수업에 배운 내용을 즉시 활용해 볼 수 있도록 다양한 실습문제(25개)를 제공하며 정답 코드가 작성되는 과정도 확인 할 수 있습니다. 결과정답만 보는 것이 아니라 코드가 작성되는 과정을 직접 확인하면서 일반적인 책이나 강의로는 알 수 없었던 코딩 테크닉을 경험 할 수 있습니다.
운영 체제 및 버전(OS): Windows 11
사용 도구: IntelliJ IDEA 2024.2.3 (Community Edition)
PC 사양: Windows 11 OS 및 IntelliJ가 무리 없이 작동 할 수 있는 수준
수업에 사용된 PPT자료 (PDF파일로 제공)
전체 예제 및 필수실습 문제 정답(Zip 압축 파일로 제공)
ASCII 코드를 알고 정수 1과 문자 '1'을 구분하며 65가 'A'라는 사실을 알고 있음 좋음
'넓고 얕게 외워서 컴공 전공자 되기' 수업에서 언급하는 기초들에 대한 이해
https://inf.run/jfDt
지금 강의 듣고 수강평을 남기시면 선착순 100분께
파트 2 강의에 사용할 수 있는 [ 90% 쿠폰 ]을 드려요.
널널한 개발자님의 [ 독하게 시작하는 Java - Part 2 ] 강의에 한해 적용되는 쿠폰입니다.
파트 2 강의는 11월 21일(목) 오픈되며, 쿠폰 역시 당일 발송해드립니다.
마케팅 수신 미동의 시 쿠폰이 발송되지 않을 수 있으니 유의 바랍니다. (*프로필 > 설정 > 알림 ON)
별도 신청 없이 기간 내 수강평 등록까지 완료하시면 자동 신청됩니다.
학습 대상은
누구일까요?
Java를 '제대로' 배우려는 학생
C/C++ 개발 경험이 있는 Java 학습자 (아니어도 됩니다!)
Spring 백엔드 개발자를 희망하는 취준생
선수 지식,
필요할까요?
넓고 얕게 외워서 컴공 전공자 되기 수업에서 다루는 이론들
널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
전체
101개 ∙ (19시간 49분)
가 제공되는 강의입니다.
학습준비에 대해 가정하는 것들
15:52
Windows OS 사용에 관한 정리
19:28
컴퓨터 구조에 대한 상식
12:02
실행의 다른 이름 '연산'
09:55
제대로 달리는 학습순서
09:26
현실적인 이야기, 취업
13:26
개발자의 기본기
08:12
고급어와 저급어 그리고 JVM
25:31
컴파일러 창시자에 관한 이야기
08:15
항, 식, 구문
05:29
컴파일러와 인터프리터
09:44
사실은 '글쓰기'
16:09
경우의 수 그리고 흐름제어
10:12
함수의 탄생
08:22
JDK와 JRE
06:10
IntelliJ 다운로드 및 설치
06:13
첫 번째 예제와 주요 단축키
29:22
반드시 알아야 할 중요한 시점
12:41
C/C++ 개발 경험자를 위한 안내
11:04
Java의 특징과 JVM
28:00
CPU 수준 자료형 소개
13:19
실수형과 부동소수점 오차
14:19
Java의 자료형
11:29
문자와 문자(배)열 및 인코딩
16:43
변수 이름 - 식별자
13:25
주석문
07:21
콘솔이란?
12:58
키코드 값 읽기
12:21
또 생각하는 Java 인코딩 규칙
06:51
문자열 입/출력
09:33
형식문자와 이스케이프 시퀀스
10:01
연산자 기본 이론
17:02
산술 연산자와 형승격
20:12
문자열 덧셈
04:37
나누기 연산의 원리
11:56
[필수실습 9-1] 평균값 구하기
10:23
단순 대입 연산자
13:30
변수를 상수화 하는 final
09:26
[필수실습 9-3] 두 변수 값 교환
07:07
복합 대입 연산자
10:30
단항 증/감 연산자
10:37
형변환 연산자
05:28
비트 (논리) 연산자
22:05
관계 연산자
12:41
논리 연산자
07:08
Short circuit
10:07
조건 (3항) 연산자
12:05
if문과 스코프 그리고 들여쓰기
17:14
브레이크포인트 및 디버그 모드 실행
16:54
스코프와 식별자 검색
14:19
[필수실습 11-2] 버스요금 계산
06:42
if else문과 제어문 중첩
11:59
다중 if문
13:10
switch-case
16:53
조건기반 while문과 무한루프
31:41
계수기반 for문
17:37
[필수실습 12-1] 총합 계산하기
05:13
반복문 중첩과 디버깅
14:34
do while문
03:48
break와 continue
15:29
배열이 필요한 이유와 기본문법
30:28
문자(배)열
09:32
[필수실습 13-2] 버블정렬
18:24
[필수실습 13-3] 선택정렬
14:58
다차원 배열
08:18
[필수실습 13-6] 교차
13:58
Lookup 배열
10:34
기본이론과 용어정리
20:33
기초적인 함수 설계 원칙
13:03
이벤트 루프
08:38
매개변수 전달 기법
15:07
재귀호출
13:00
다중정의(Overloading)
05:43
학습 마무리
05:26