SW과정 JAVA 첫 시간 - 0726

JongseokLee·2021년 7월 26일
1
post-thumbnail

JAVA 오프라인 첫 수업 시작👌

Spring Framework는 JAVA로 만들어짐(전자정부 표준 프레임워크)
Spring Framework 이후 Spring Boot 배움
Django/Flask(파이썬, 야놀자), PHP, ASP.net(MS용 맵, C#), Node.js, Database

스프링 개발자 구인난 심함
Spring Framework와 Spring boot는 자바를 배워서 웹 사이트를 구축하기 위한 과정임

프로그래밍 인내심 가지고 오래하는 분들이 성공합니다👍

수업 진행 방향🙌

1)JAVA : JDK(Java Development toolKit), Eclipse
2)Oracle
3)JavaScript, Html, CSS
4)Jsp/Servlet
5)Spring FrameWork
6)Spring Boot

오라클 회원 가입 및 관련 프로그램 다운로드
📂JAVA 다운로드 바로가기

JAVA의 버전

1)J2SE
2)J2EE
3)J2ME
수업에는 11버전 윈도우용을 사용함☝

Eclipse 다운로드
📂Eclipse 다운로드 바로가기
Eclipse IDE for Java Developers 다운함 (자바용임)
Eclipse IDE for Enterprise Java and Web Developers (JSP 예전에 사용, 자바 웹용)

개발자 소양

인문적인 소양과 창의력이 필요함
비전공자들이 많아서 강의수준 조금 낮게 잡아서 진행함
생활코딩 저자(이고잉) 비전공자 출신, SI업체 출신으로 1년간 생활비를 마련하여 집에서 모든 영상과 저서를 제작함

프로그래밍 언어

1) CPU에게 명령을 내리는 작업, OS(LINUX, Window 등)은 명령내리기 쉽게 프로그래밍이 되어있음
2) 운영체제(OS)의 역할 : CPU와 소통하기 쉽게 양방향 인터페이스를 제공함
3) 코딩은 10중 3, 6은 설계 나머지 3은 디버깅
4) C#은 운영체제에서 바로 인식, Windows에서만 가동됨(Linux에서 안됨❌, 파일 구조가 다름)
5) JAVA는 프로그래밍을 하면 JVM(Java Virtual Machine)으로 바뀜 그다음 운영체제에서 인식되는 언어로 바뀜(자바가 무겁다고 말하는 이유) 예전에는 RAM이 4mb였음, 그래서 자바 구동시키기 부담스러움

JAVAJVM(어느 운영체제에서도 사용 가능, 플랫폼 독립점) → JDK(OS 선택, Windows용)
Test.java → Test.class(JVM이 인식)
JRE는 자바로 만들어진 프로그램이 구동(Run)될 때 필요한 제반 환경(Environment)을 말함.
JVM은 자바 코드를 실행할 수 있는 가상(Virtual) 컴퓨터(Machine)인데, JRE의 일부로 포함됨 JDK는 자바로 프로그램을 만들때(Develop) 필요한 도구 모음(Kit)

Docker 운영체제에 상관없이 서버를 구동 시킬 수 있는 플랫폼
JAVA 변환 과정 (javac.exe 컴파일러)

Eclipse 실습

1)Class 뜻 : 우리가 만들고자 하는 것을 정의하는 것❔
2)Class 구분 방법 패키지 이름으로 구분함, 보통 기업들은 회사 도메인(url)을 기준으로 패키지 이름 구분함 (ex:com.naver.fullstack.etc)
3)Class를 잘 사용 하는 것이 중요함, 수백개 수천개의 Class로 프로그램을 구성함
4)Class간에 관계(상속)을 잘 써야함 → 인터페이스를 이용해서 상속을 한다.

포르쉐 핸들, 바퀴, 기어, 속력, 연비 등등을 정의함 그런데 다른 자동차들과 중복되는 항목이 많음, 그래서 중복되는 기능은 Car라는 Class로 통합하여 중복 기능을 상속받아서 사용함
Interface : 중국집에서 짜장면이 표준화 되어있는 것 처럼 표준화된 태그를 사용해야함
ex)Car(부모) → 포르쉐(자식) : 이 경우 포르쉐의 특징만 더욱 구체적으로 사용가능함

SRC 뜻 : Source Code File

필드에서 안쓰는 내용은 과감하게 스킵하고 짧게 배우고 반복위주로 수업을 진행 빈도수가 높은 애들 위주로 공부하자🔆
매일 공부하지 않으면 도태된다.

Class:

1)첫글자는 대문자로 작성

현재로서는 객체 = 클래스 = 타입으로 이해
Ctrl+Shift+c:자동주석
Ctrl + Space bar ---> main 메소드 자동실행(sysou → System.out.println();

2)인스턴스화 하는 방법

(1)new 연산자 사용
(2)Reflection

3) 실행 프로세스

main()메소드를 가지고 있는 클래스가 실행됨, 하나의 프로젝트가 무수히 많은 클래스로 구성되어 있어도 main() 메소드는 한개만 존재함

4)자바에서 메소드는 크게 3가지의 형태로 구성

(1)일반 메소드
(2)main 메소드:jvm이 내부적으로 클래스로 인식함, static이 붙어 있어서 바로 실행가능함
(3)생성자 : 메소드 이름이 클래스 이름과 같은 메소드

5)변수의 타입

(1)Primitive type(8개): 자바 컴파일러에 미리 지정되어 있는 타입
(2)Reference type: primitive type(8개)를 제외한 모든 것, 결국은 타입이 클래스임
(3)변수 이름 = 메모리에 저장되어 있는 주소

6)키보드 첫번째 비트가 1이면 한글, 0이면 영어, 키보드 구현에 필요한 메모리는 7(128byte)

(1)자료형 바이트가 나뉘어져있는 이유 : 웹이나 앱에서 메모리 최적화를 위해서
(2)2^10 = 1024byte = 1kbyte
(3)2^16 = 2^10 * 2^6 = 64kbyte (지수의 합은 자연수의 곱)
(4)2^20 = 1MB
(5)2^30 = 1GB, 2^32 = 4GB
(6)2^40 = 1TB

7)메소드

(1)파라미터 = 인자 = 매개변수 = argument를 받아들임
Class
변수명주소(메모리)
변수명주소(메모리)
변수명주소(메모리)
..
..
..
profile
DataEngineer Lee.

0개의 댓글