배움 __IL/TIL 1기

3번째- 221201 [11-4-목]

Mo_bi!e 2022. 12. 1. 19:30

※ Keep in mind

 본 내용은 웹개발과정의 강의 중 내용을 복습을 위해서 메모한 것에 불과한 것입니다. 이러한 연유로 강의내용을 오인한 나머지 오기재 및 불기재가 있을 수 있으니 '참고'만 해주시길 바랍니다. 저의 경우에도 본 내용을 단순하 읽은 것이 결코 저의 것이라고 생각하지 않습니다. 본 내용은 복습를 위한 초기 내지 중간 과정에 불과한 것이고, 이후에 내용을 보충 후 인출 및 설명하기 과정이 있어야 비로소 복습의 단추가 어느정도 마무리 되어간다고 볼 수 있습니다.

 따라서 당초에 본 내용은 비공개였습니다. 그럼에도 불구하고 본 내용을 공개한 점은 함께 공부하는 동료들과 나눔을 바탕으로 배움과 성장의 공진화라는 소기의 목적을 달성에 어느정도 도움이 될수 있기 때문이라고 생각합니다.

 


1. Intro : 자바프로그래밍이란

자바라는 언어를 이용해서 컴퓨터프로그램을 간접적으로 만든다.

 

프로그래밍이란 목적과 절차가 필요하다

 

절차는 2가지 구성이있음 : 언어와 플랫폼

자바라는 언어를 이용해서 절차를 만듬 (자바언어)

자바라는 언어로만 절차를 만들어도 (연산, cpu, 메모리), 결과를 모름

왜냐하면 언어는 '입출력장치'(print, 모니터, 사운드카드 등)를 필요시 함 이런것을 플랫폼이라 함

 

플랫폼(기반) 중 하나는 OS 이다.

플랫폼은 함수를 이용해서 간접적으로 쓴다. 왜그럴까?

 

2. 자바를 이용해서 컴퓨터 프로그램 만들기

(1) 자바코드의 기본규칙

 

오늘날은 남이만든 응용 프로그램을 엮는것이 소기의 능력 (기계도, 수학도 X)

 

(2) 연산 프로그램 짜보기

public class Deploy {
	public static void main(String[] args) {
		
		kor1 = 100
		int kor2 = 300;
		int kor3 = 400;

		int total = kor1 + kor2 + kor3;
		int avg = total / 3;

	}
}

kor1 에서 ; 이 없는 것을 찾아내는 것 같은 과정이 자바번역기와 대화하는 과정이다.

 

D:\workspace\res>java Deploy.java
Deploy.java:4: error: ';' expected
                kor1 = 100
                          ^
1 error
error: compilation failed

--

별도로 ; 을 붙인 뒤 다른방식으로 문제가 발생 (이것이 대화과정)

Deploy.java:4: error: cannot find symbol
                kor1 = 100;
                ^
  symbol:   variable kor1
  location: class Deploy
Deploy.java:8: error: cannot find symbol
                int total = kor1 + kor2 + kor3;
                            ^
  symbol:   variable kor1
  location: class Deploy
2 errors
error: compilation failed

cannot find symbol 이라 함은 컴파일러가 '알수없는 기호'들 의미

즉 이경우 변수라고 선언하는 코드가 필요함

 

따라서 먼저 "컴파일러가 정한 키워드" 이후에 "사용자가 사용할 키워드" 로 선언 (변수, 함수, 클래스, 인터페이스)

 

--

public class Deploy {
	public static void main(String[] args) {
		
		int kor1 = 100;
		int kor2 = 300;
		int kor3 = 400;

		int total = kor1 + kor2 + kor3;
		float avg = total / 3;

	}
}

int, float 등의 '컴파일러가 정한 키워드'로 이용 함 -> 즉 컴퓨터의 CPU 메모리가 일을 했음을 의미 함

 

(3) System.out.printf 를 이용해서 출력 해보기

public class Deploy {
	public static void main(String[] args) {
		
		int kor1 = 100;
		int kor2 = 300;
		int kor3 = 400;

		int total = kor1 + kor2 + kor3;
		float avg = total / 3;

		System.out.printf("total is %d\n", total);
		System.out.printf("avg is %f\n", avg);		 //여기 실수

	}
}

- 이 경우 %f가 아니라 %d를 해서 함 (예외 IllegalFormatConversionException)

 

입출력장치를 이용한 코드 -> 함수임 

함수란 API인데 API는 무엇일까?

 

3. 코드작성 방법의 변화 및 코드작성의 필수구조

(1)

절차적인 프로그래밍 -> 구조적인 프로그래밍 ->객체지향 프로그래밍

함수란 자르는 것

 

클래스 (멤버함수 (연산식)))

 

(2) 개발도구의 통합

번역기(jdk) + 실행기(도스) + 탐색기 + 수정 [플러그인] ->유기적으로 융합하는 도구는 IDE(통합개발환경)

 

다양한 플러그인 + 워크벤치 = 이클립스 

 

(3) 이클립스

내가 '작업할 도구'를 꺼내놓은 상태 perspective (우 상단에 open perspective 가 있음)

JAVA EE 하면 다양하게 있고 / 그냥 JAVA하면 다르게 나타남

 

만들 시 project 를 만들어야 한다 (이클립스를 위해)

즉 컴파일(실행,번역,파일관리) 등 할시 어디있는지, 알아야하는게 뭔지를 위해 프로젝트를 만듬

만들면 프로젝트 이름으로 폴더가 만들어짐 jre는 8로 하는것이 바람직 (스프링이 아직 8까지만 지원)

 

<IDE 가 메모장보다 편리한 이유>

프롬프나 들여쓰기 잡아주는 방법 :

컨 + 쉬 + f

 

내어쓰기

쉬 + 탭

 

코드 옮기기

알트 + 화살표

 

수정(src) 후 저장한 순간 컴파일(bin)이 됨 (옵션 : Build Auto---) 

이러한 연유로 저장할때 등에 이클립스가 느리다. (SSD 쓸경우 끄는것을 권함 : 지속적으로 이용함)

 

 


1. 보충

(1)

기본형 변수와 참조형 변수 차이 

https://velog.io/@jayjungzzzz/%EA%B8%B0%EB%B3%B8%ED%98%95%EA%B3%BC-%EC%B0%B8%EC%A1%B0%ED%98%95%EC%9D%98-%EC%A2%85%EB%A5%98-%EB%B0%8F-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

기본형(Primitive type) : 값을 그대로 할당

- Number
- String(문자열)
- Boolean
- null
- undefinded
- Symbol(ES6 부터 추가 됨, 객체 속성을 만드는 데이터 타입)

기본형 데이터는 값을 그대로 할당하는 것.
메모리 내에 고정된 크기로 저장되면서, 원시 데이터 값 자체를 보관, 불변적
기본적으로 데이터는 하나의 메모리를 사용한다.(재사용)

참조형(Reference Type) : 값이 저장된 주소 값을 할당(참조)

**- Object

  • Array(배열) : const 로 선언된 변수 배열에 Array.push를 적용할 수 있는 이유는
    배열은 참조 타입이기 때문에 데이터의 주소를 대입할 수 있기 때문이다.
  • function(함수) / RegExp(정규표현식) : 문자열에 나타나는 특정 문자조합과 대응시키기 위해 사용되는 패턴이다.
  • Map
  • Etc..
    **

참조형은 기본형 데이터의 집합
참조형 데이터는 값이 지정된 주소의 값을 할당한다.

(2)

플러그인 + 워크벤치 이해

 

(3)

Eclipse IDE for Enterprise Java and Web Developers 다운로드 이유

 

JDK (JAVA Development Kit)
우선 JAVA를 배우시기위해서는 JDK를 설치해야합니다. 언어를 쓰기위한 단어들을 컴퓨터에 입력한다고 생각하시면 됩니다. 

Eclipse 
단어들을 이용해 문장을 만들어주는 사전(?) 같은 개념이라고 생각하시면 됩니다. 
Eclipse의 SE 와 EE의 차이는 다음과 같다.

SE(Standard Edition)
말그대로 '기본판' 즉, 표준 개발 tool이라고 생각하면 될 것이다. 
일반적인 프로그램을 만들때 주로 이용하며, 많은 개발자들이 사용한다.

EE(Enterprise Edition) 

주로 웹개발에 쓰인다. 엄밀히 말해 웹개발을 위한 tool은 아니다.
쉽게 말해 윈도우7 홈에디션이 SE라면, Ultimate 버전은 EE라고 볼 수 있다. 그만큼 SE보다 더 많은 기능을 가지고 있으며 특히 다른 개발환경과 연동할 경우에 많이 이용하게된다. 

 

 

2. 회고

프로그래밍 절차에 대한 차이 인지

 

'배움 __IL > TIL 1기' 카테고리의 다른 글

TIL : 6번째- 221206 [12-1-화]  (2) 2022.12.06
TIL : 5번째- 221205 [12-1-월]  (0) 2022.12.05
4번째- 221202 [11-5-금]  (0) 2022.12.02
2번째- 221130 [11-4-수]  (1) 2022.11.30
OT 20221129  (0) 2022.11.29