23. Back-end/23. JAVA

[Java 001] Class์ƒ์„ฑ, ์ฃผ์„๋ฌธ,์ถœ๋ ฅ๋ฌธ, Java์˜ ๊ตฌ์„ฑ, ๋ช…๋ช… ๊ทœ์น™, Package, ๊ฐœ๋ฐœํ™˜๊ฒฝ ๋“ฑ

keemzeehae 2021. 12. 22. 21:36

Java ์–ธ์–ด

0,1:๊ธฐ๊ณ„์–ด (Low) / ์–ธ์–ดํ˜•์‹(High)

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด(๋™์‹œํ†ต์—ญ) : Javascript

์ปดํŒŒ์ผ ์–ธ์–ด(ํ†ต๋ฒˆ์—ญ)

 

์ž๋ฐ”๋Š”?

High, ์ปดํŒŒ์ผ ์–ธ์–ด

 

์ž๋ฐ”์˜ ํŠน์ง•

์–ด๋–ค ์šด์˜์ฒด์ œ์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰

์–ด์จŒ๋“  ์‹œ๊ฐ„์ด Delay (๊ทธ๋ ‡์ง€๋งŒ ์š”์ฆ˜ ํ•˜๋“œ์›จ์–ด ์ข‹์•„์ ธ์„œ ๊ดœ์ฐฎ์Œ)

 

1. ์ฝ”๋”ฉ

2. ์ €์žฅ

3. ์ปดํŒŒ์ผ

4. ์‹คํ–‰

 

Java Project ๊ธฐ๋ณธ

1. File > new > Java project

2. Project ๋ช… ์ž…๋ ฅ > finish

 

Class ์ƒ์„ฑ

1. ์ƒ์„ฑ๋œ Project ๋‚ด์˜ src ํด๋” ์šฐํด๋ฆญ > new > class ์„ ํƒ

2. ํด๋ž˜์Šค๋ช… ์ž…๋ ฅ(์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž) ํ›„ finish

 

์ฃผ์„๋ฌธ

1. ๋‹จ์ผ ์ฃผ์„(ํ•œ์ค„ ์ฃผ์„)

// ๋‹จ์ผ ์ฃผ์„

2. ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„

/*

    ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„

*/

 

 

์ถœ๋ ฅ๋ฌธ

1. System.out.println() - ์ถœ๋ ฅํ›„ ์ค„๋ฐ”๊ฟˆ(์—”ํ„ฐ)

2. System.out.print() - ์ถœ๋ ฅํ›„ ์ค„๋ฐ”๊ฟˆ ์—†์Œ

 

ํŠน์ˆ˜๋ฌธ(?)

public static void main (String [] args {

    System.out.print();

}

 

Java์˜ ๊ตฌ์„ฑ

  • class ๋‹จ์œ„๋กœ ๊ตฌ์„ฑ(๊ธฐ๋ณธ ๋‹จ์œ„)
  • class๋Š” ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๋ฉค๋ฒ„๋ฉ”์„œ๋“œ ๊ตฌ์„ฑ(์„ธ๋ถ€ ๋‹จ์œ„)
//class ์„ ์–ธ
์ ‘๊ทผ์ง€์ •์ž class ํด๋ž˜์Šค๋ช… {
		//๋ฉค๋ฒ„๋ณ€์ˆ˜ ์„ ์–ธ
		์ ‘๊ทผ์ง€์ •์ž [๊ทธ์™ธ์ง€์ •์ž] ๋ฐ์ดํ„ฐํƒ€์ž… ๋ณ€์ˆ˜๋ช…;

		//๋ฉค๋ฒ„๋ฉ”์„œ๋“œ ์„ ์–ธ
		์ ‘๊ทผ์ง€์ •์ž [๊ทธ์™ธ์ง€์ •์ž] ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์„œ๋“œ๋ช…([๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ๋“ค]){
			//๋ฉ”์„œ๋“œ์˜ ๋‚ด์šฉ
		}

		//์ƒ์„ฑ์ž
		์ ‘๊ทผ์ง€์ •์ž ํด๋ž˜์Šค๋ช…๊ณผ๋™์ผํ•œ๋ฉ”์„œ๋“œ๋ช…([๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ๋“ค]){
			//์ƒ์„ฑ์ž์˜ ๋‚ด์šฉ
		}
		

}

 

 

Java์˜ ๋ช…๋ช… ๊ทœ์น™(์ด๋ฆ„ ๋งŒ๋“œ๋Š” ๊ทœ์น™)

ํด๋ž˜์Šค๋ช…, ๋ณ€์ˆ˜๋ช…, ๋งค์„œ๋“œ๋ช…์„ ์ž‘๋ช…

 

1. ๋ชจ๋“  ์ด๋ฆ„์€ ์ด๋ฆ„๋งŒ ๋ณด๊ณ  ์–ด๋–ค ์—ญํ• ์ธ์ง€ ์ถ”์ธก๊ฐ€๋Šฅ

2. ํด๋ž˜์Šค๋ช…์˜ ์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘

3. ๋ณ€์ˆ˜๋ช…์˜ ์ฒซ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘, ๋ช…์‚ฌํ˜•์‹

4. ๋ฉ”์„œ๋“œ๋ช…์˜ ์ฒซ๊ธ€์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘, ๋™์‚ฌํ˜•์‹

 -๋์— ()๊ฐ€ ์žˆ์œผ๋ฉด ๋ฉ”์„œ๋“œ, ์—†์œผ๋ฉด ๋ณ€์ˆ˜

5. ๋‘ ๋‹จ์–ด ์ด์ƒ ํ•ฉ์ณ์„œ ์ด๋ฆ„์„ ๋งŒ๋“ค ๋•Œ 

 ex) max + value

 

1) Camel ํ‘œ๊ธฐ๋ฒ•

-๋‘๋ฒˆ์งธ ๋‹จ์–ด ๋˜๋Š” ๋’ค์— ์—ฐ๊ฒฐ๋˜๋Š”๋‹จ์–ด ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ

 ex)maxValueAge

ex2)IdolMember

 

2) Snake ํ‘œ๊ธฐ๋ฒ•

-๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์—_(์–ธ๋”๋ฐ”)๋กœ ์—ฐ๊ฒฐ

ex) max_value

 

6. ๋ชจ๋“  ์ด๋ฆ„์€ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Œ

7. ํŠน์ˆ˜๋ฌธ์ž๋Š” '_', '$'๋งŒ ํ—ˆ์šฉ 

8. ๋„์–ด์“ฐ๊ธฐ ๋ถˆ๊ฐ€ 

9. ํ•œ๊ธ€๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ

 

 

Package

1. ๊ด€๊ณ„์žˆ๋Š” class๋“ค์„ ์ €์žฅํ•˜๋Š” ํด๋”

2. ํŒจํ‚ค์ง€๋ช…์€ ์ „์„ธ๊ณ„์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์ด๋ฆ„์œผ๋กœ ์ž‘์„ฑ

3. ๋„๋ฉ”์ธ๋ช…์˜ ์—ญ์ˆœ์œผ๋กœ ์ž‘์„ฑ

 ex) com.google.****.***

 

 

์ž๋ฐ” Class๋ช… ๋ฐ”๊พธ๊ธฐ

ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ์†Œ์ŠคํŒŒ์ผ์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ธฐ

[Refactor]-[Rename] ์„ ํƒ -> ์›ํ•˜๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ

 

 


๊ฐœ๋ฐœํ™˜๊ฒฝ 

 

JDK ์„ค์น˜

(์ถ”๊ฐ€)

- JDK ๋‹ค์šด https://www.oracle.com/java/technologies/javase-downloads.html

 

- JDK ์„ค์น˜ ํ™•์ธ : cmd, terminal : java -version

 

- JDK ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • Java์— ๊ด€๋ จ๋œ ๋ช…๋ น์–ด์˜ ์œ„์น˜๋ฅผ OS์— ์•Œ๋ ค์ฃผ๋ ค๋Š” ๋ชฉ์ 

1) ์ œ์–ดํŒ > ์‹œ์Šคํ…œ ๋ฐ ๋ณด์•ˆ > ์‹œ์Šคํ…œ

2) ๊ณ ๊ธ‰์‹œ์Šคํ…œ ์„ค์ • > ๊ณ ๊ธ‰ํƒญ > ํ™˜๊ฒฝ๋ณ€์ˆ˜

3) ์‹œ์Šคํ…œ๋ณ€์ˆ˜ > ์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ

4) ๋ณ€์ˆ˜์ด๋ฆ„ : JAVA_HOME

5) ๋ณ€์ˆ˜๊ฐ’ : java๊ฐ€ ์„ค์น˜๋œ ํด๋”(C:\Program Files\Java\jdk-11.0.10)

6) path > ํŽธ์ง‘

7) ์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ : %JAVA_HOME%\bin

 

1. JDK download

https://www.oracle.com/java/technologies/downloads/#jdk17-windows

2. ์„ค์น˜

3. ํ™˜๊ฒฝ์„ค์ •

์ œ์–ดํŒ>๋ชจ๋“  ์ œ์–ดํŒ ํ•ญ๋ชฉ>์‹œ์Šคํ…œ>๊ณ ๊ธ‰์‹œ์Šคํ…œ ์„ค์ •>๊ณ ๊ธ‰>ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํด๋ฆญ

์‹œ์Šคํ…œ๋ณ€์ˆ˜>์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ

-๋ณ€์ˆ˜ ์ด๋ฆ„: JAVA_HOME 

-๋ณ€์ˆ˜ ๊ฐ’: JDK ์„ค์น˜๋œ ํด๋”์˜ ๊ฒฝ๋กœ ex) C:\Program Files\Java\jdk-17.0.1

 ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ > path ์„ ํƒ ํ›„ ํŽธ์ง‘ > ์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ

-%JAVA_HOME%\bin 

 

Editor

1. STS 4 ๋‹ค์šด

https://spring.io/tools

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

2. ์„ค์น˜

์›ํ•˜๋Š” ํด๋”์— ์••์ถ• ํ•ด์ œ

์•Œ์ง‘์œผ๋กœ ์••์ถ• ํ•ด์ œ์‹œ ์—๋Ÿฌ ๋ฐœ์ƒ, ๋ฐ˜๋””์ง‘ ๋“ฑ ์ด์šฉ

 

3. workspace ์ƒ์„ฑ

 

4. STS ์‹คํ–‰

 

5. STS 4 ํ™˜๊ฒฝ ์„ค์ •

1) Encoding ์„ค์ •

 windows>references>general>workspace>text file encoding>other UTF-8 ์„ ํƒ

 

 

Database

1. DB

a. rdbms(๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

- oracle, mysql, mariadb, mssql...

b. nosql

- mongoDB, ์นด์‚ฐ๋“œ๋ผ,hbase...

 

2. ๊ด€๋ฆฌ๋„๊ตฌ

- DB ๋ณ„๋กœ ์ „์šฉ ๊ด€๋ฆฌ ๋„๊ตฌ

- sqldeveloper, workbench...

 

Oracle DB

์„ค์น˜ ๋ฐฉ๋ฒ•

 

1. local pc ์„ค์น˜

- window pc ์„ค์น˜ ๊ฐ€๋Šฅ

- Mac ์„ค์น˜ ๋ถˆ๊ฐ€

2. Cloud - AWS - Oracle Cloud

3. Docker

- window professional ์ด์ƒ ์‰ฌ์›€

- Mac ์‰ฝ์ง€๋Š” ์•Š์Œ

4. ๊ด€๋ฆฌ๋„๊ตฌ -

sqldeveloper

๋ฌธ์ œ์ 

a. sqldeveloper๊ฐ€ ์š”๊ตฌํ•˜๋Š” JDK ๋ฒ„์ „์ด 8 ๋˜๋Š” 11 ๋ฒ„์ „ ์š”๊ตฌ

b. JDK ์š”๊ตฌํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ ์žฌ ์„ค์น˜


ctrl +alt +r -> ์œ—์ค„ ์•„๋ž˜๋กœ ๋ณต์‚ฌํ•˜๋Š” ๋‹จ์ถ•ํ‚ค

 

 

 

/*

๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค :)

ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

*/