λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
FOR SW ENGINEERπŸ‘©‍πŸ’»/JAVA

κ΅­λΉ„JAVAμˆ˜μ—… DAY-2

by μ”¨λ‹ˆ 2021. 8. 14.
728x90

μ˜€λŠ˜μ€ κ΅­λΉ„ μˆ˜μ—… λ‘˜μ§Έλ‚ !!😊

μ˜€λŠ˜μ€ μ‹λ³„μž 이름 κ·œμΉ™, λ³€μˆ˜, 데이터 νƒ€μž…κ³Ό νƒ€μž…μ— λ”°λ₯Έ 크기, ν˜•λ³€ν™˜μ— κ΄€ν•΄μ„œ λ°°μ› λ‹€.

그럼 λ‘˜μ§Έλ‚  μˆ˜μ—… μš”μ μ •λ¦¬ μ‹œμ΄μž‘~~πŸ™Œ

 

 

1. μ‹λ³„μž

μ‹λ³„μžλŠ” 클래슀λͺ…, λ³€μˆ˜λͺ…, λ©”μ„œλ“œλͺ… λ“± μ‚¬μš©μžκ°€ λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜λŠ” κ³ μœ ν•œ 이름이닀. 

 

 

<μ‹λ³„μž 생성 κ·œμΉ™>

1. λŒ€μ†Œλ¬Έμž ꡬ뢄, 길이 μ œν•œ μ—†μŒ.

2. 문자, 숫자, 밑쀄(_), λ‹¬λŸ¬κΈ°ν˜Έ($) 포함 κ°€λŠ₯ .

3. 문자, 밑쀄, λ‹¬λŸ¬κΈ°ν˜Έλ‘œ μ‹λ³„μž μ‹œμž‘ κ°€λŠ₯, BUT μˆ«μžλ‘œλŠ” μ‹œμž‘ λΆˆκ°€.

4. 곡백을 포함할 수 μ—†μŒ (곡백 λŒ€μ‹  언더바, μΉ΄λ©œν‘œκΈ°λ²•μœΌλ‘œ λ‚˜νƒ€λ‚΄μ•Ό 함).

5. ν‚€μ›Œλ“œ(μ˜ˆμ•½μ–΄)λŠ” μ‹λ³„μžλ‘œ μ‚¬μš© λΆˆκ°€.

 

λŒ€λ¬Έμž μ†Œλ¬Έμž ꡬ뢄 / μΉ΄λ©œν‘œκΈ°λ²•/ μ˜ˆμ•½μ–΄ μ‚¬μš©λΆˆκ°€

 

<클래슀/μΈν„°νŽ˜μ΄μŠ€ 이름 κ·œμΉ™>

- λͺ…μ‚¬λ‚˜ ν˜•μš©μ‚¬ μ„œμˆ μ μœΌλ‘œ μ—°κ²°ν•΄ μ‚¬μš©.

- μ²«κΈ€μžλŠ” λŒ€λ¬Έμžλ‘œ ν‘œκΈ°.

- μ—°κ²°λœ λ‹¨μ–΄μ˜ 첫 κΈ€μžλ„ λŒ€λ¬Έμžλ‘œ ν‘œκΈ°(μΉ΄λ©œν‘œκΈ°λ²•).

ex) HelloWorld, MyCalculator

 

<1-2. λ³€μˆ˜ 이름 κ·œμΉ™>

- λͺ…사적 의미둜 정함.

- μ²«κΈ€μžλŠ” μ†Œλ¬Έμž, 연결단어 μ²«κΈ€μž λŒ€λ¬Έμž(μΉ΄λ©œν‘œκΈ°λ²•).

ex) customerAge, phoneNumber

 

<1-3. λ©”μ„œλ“œ(ν•¨μˆ˜)이름 κ·œμΉ™>

- 동사적 의미둜 정함.

- μ²«κΈ€μžλŠ” μ†Œλ¬Έμž, 연결단어 μ²«κΈ€μž λŒ€λ¬Έμž(μΉ΄λ©œν‘œκΈ°λ²•).

- λ©”μ„œλ“œ 이름 뒀에 λ°˜λ“œμ‹œ ν•œμŒμ˜ κ΄„ν˜Έ"()"κ°€ 따름.

- 일반적으둜 λ©”μ„œλ“œ μ΄λ¦„μ—λŠ” 언더바( _ ) μ‚¬μš©μ•ˆν•¨.

ex) writeView(), join()

 

<1-4. μƒμˆ˜ 이름 κ·œμΉ™>

- λͺ¨λ“  λ¬ΈμžλŠ” λŒ€λ¬Έμžλ‘œ ν‘œκΈ°!

- 단어와 λ‹¨μ–΄μ‚¬μ΄λŠ” 언더바( _ )둜 μ—°κ²°.

ex) NUMBER_ONE, LOGIN_OK\

 

 

 

2. λ³€μˆ˜

λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ μ–΄λ–€ 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” κ³΅κ°„.

 

 

<λ³€μˆ˜νŠΉμ§•>

- λ³€μˆ˜λŠ” ν”„λ‘œκ·Έλž¨μ΄ 싀행될 λ•Œλ§ˆλ‹€ μ €μž₯λ˜μ–΄ μžˆλŠ” 값이 λ°”λ€” 수 있음.

- λ³€μˆ˜μ—λŠ” 볡수 개 값을 μ €μž₯ λΆˆκ°€, ν•˜λ‚˜μ˜ κ°’λ§Œ μ €μž₯ κ°€λŠ₯.

- λ‹€μ–‘ν•œ νƒ€μž… κ°’ μ €μž₯ λΆˆκ°€, ν•œκ°€μ§€ νƒ€μž…λ§Œ μ €μž₯ κ°€λŠ₯.

 

<λ³€μˆ˜ μ„ μ–Έ 방법>

- <데이터 μœ ν˜•> <λ³€μˆ˜ μ‹λ³„μž 이름>;

- 같은 νƒ€μž… λ³€μˆ˜λŠ” 콀마(,) μ‚¬μš©ν•΄ ν•œλ²ˆμ— μ„ μ–Έ κ°€λŠ₯.

-λ³€μˆ˜ μ„ μ–Έν•˜κ³  κ°’ μ €μž₯/ μ΄ˆκΈ°κ°’μ„ λ„£μ–΄μ£ΌλŠ” ν–‰μœ„ ==> "λ³€μˆ˜ μ΄ˆκΈ°ν™”"

 

λ³€μˆ˜ μ„ μ–Έ, μ΄ˆκΈ°ν™”

 

<λ³€μˆ˜ μ‚¬μš©λ²”μœ„>

-λ³€μˆ˜λŠ” μ„ μ–Έν–ˆλ˜ μ€‘κ΄„ν˜Έ 블둝"{ }"λ‚΄μ—μ„œ μ„ μ–Έλ˜κ³  μ‚¬μš©λ¨.

-λ³€μˆ˜λŠ” 블둝이 λλ‚˜λ©΄ λ©”λͺ¨λ¦¬μƒμ—μ„œ 제거 됨.

 

 

 

3. 데이터 νƒ€μž…κ³Ό 크기

데이터 νƒ€μž…μœΌλ‘œλŠ” μ •μˆ˜ν˜•, μ‹€μˆ˜ν˜•, λ¬Έμžν˜•, λ…Όλ¦¬ν˜•μ΄ μžˆλ‹€.

 

 

<μ •μˆ˜ν˜•>

- byte, short, int, long ν‚€μ›Œλ“œ(μ˜ˆμ•½μ–΄) μ‚¬μš©ν•΄ μ„ μ–Έ.

- JAVAμ—μ„œ μ •μˆ˜μ˜ 2μ§„μˆ˜ ν‘œν˜„ 방법은 " λΆ€ν˜Έμ™€ 2의 보수" ν‘œν˜„λ°©λ²• μ‚¬μš©.

- μ •μˆ˜ν˜•μ€ 10μ§„μˆ˜ 뿐 μ•„λ‹ˆλΌ 2μ§„μˆ˜, 8μ§„μˆ˜, 16μ§„μˆ˜ λ“±μ˜ ν˜•νƒœλ„ ν‘œν˜„.

- μ •μˆ˜ν˜•μ˜ λ””ν΄νŠΈλŠ” intμ΄λ―€λ‘œ longν˜•μ„ μ§€μ •ν•˜λ €λ©΄ ν• λ‹Ήν•  숫자 λ’€"L"을 λΆ™μ—¬μ€€λ‹€.

- byte => 1byte // short => 2byte // int => 4byte // long => 8byte

μ •μˆ˜ν˜• νƒ€μž…

 

<μ‹€μˆ˜ν˜•>

- float, double ν‚€μ›Œλ“œ μ‚¬μš©.

- μ‹€μˆ˜ν˜•μ€ λ””ν΄νŠΈν˜•μ΄ doubleμ΄λ―€λ‘œ floatν˜•μ„ μ§€μ •ν•˜λ €λ©΄ 숫자 λ’€ "F"λ₯Ό λΆ™μ—¬μ€€λ‹€.

- μ‹€μˆ˜ν˜• ν‘œν˜„μ€ μ†Œμˆ˜μ  ν‘œν˜„λ°©μ‹ 10μ§„μˆ˜ ν‘œν˜„λ°©μ‹κ³Ό, μ§€μˆ˜ ν˜•μ‹μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” κ³Όν•™κΈ°μˆ μš© ν‘œκΈ°λ²•μ΄ μ‚¬μš© 됨.

- float => 4byte // double => 8byte

μ‹€μˆ˜ν˜• νƒ€μž…

 

<λ…Όλ¦¬ν˜•>

- booleanν‚€μ›Œλ“œ μ‚¬μš©.

- λ…Όλ¦¬ν˜• κ°’μ—λŠ” true, falseκ°€ μžˆλ‹€.

- cμ–Έμ–΄μ—μ„œ 처럼 0을 false, 1을 true라고 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ(였직 true, false만!!)

- boolean => 1byte

λ…Όλ¦¬ν˜• νƒ€μž…

 

<λ¬Έμžν˜•>

- λ‹¨μΌλ¬Έμž char, λ¬Έμžμ—΄ String.

- charν˜•μ€ 0~ 2^16의 λ²”μœ„ λ‚΄ λΆ€ν˜Έκ°€ μ—†λŠ” 16λΉ„νŠΈ(2byte)숫자 μ‚¬μš©ν•΄ μœ λ‹ˆμ½”λ“œ 문자 ν‘œν˜„.

-charν˜• 값은 ν™‘ λ”°μ˜΄ν‘œ(' ')μ•ˆμ— λ„£μ–΄μ•Ό 함.

- String은 λ¬Έμžμ—΄μ„ 더 μ‰½κ²Œ 닀루기 μœ„ν•΄ λ§Œλ“€μ–΄μ§„ 클래슀.

- Stringν˜• 값은 κ²Ή λ”°μ˜΄ν‘œ(" ")μ•ˆμ— λ„£μŒ.

λ¬Έμžν˜• νƒ€μž…

- λ¬Έμžμ—΄κ³Ό μ •μˆ˜ν˜•μ„ ν•©ν•˜λ©΄, μ •μˆ˜ν˜•λΌλ¦¬λ§Œ 합해지고, λ¬Έμžμ—΄μ€ κ·ΈλŒ€λ‘œ 좜λ ₯.

λ¬Έμžμ—΄κ³Ό μ •μˆ˜ν˜•μ˜ ν•©
μœ„ μ—°μ‚°μ˜ κ²°κ³Ό

 

 

 

4. ν˜• λ³€ν™˜

- 데이터 크기 : byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)

    β€» floatλŠ” 4λ°”μ΄νŠΈμΈλ° long보닀 큰 νƒ€μž…μΈ μ΄μœ λŠ” ν‘œν˜„ν•  수 μžˆλŠ” κ°’μ˜ 경우의 μˆ˜κ°€ float이 더 크기 λ•Œλ¬Έμ΄λ‹€.

 

<ν˜• λ³€ν™˜ νŠΉμ§•>

- 크기가 μž‘μ€ 데이터 νƒ€μž… → ν¬κΈ°κ°€ 큰 데이터 νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•  λ•ŒλŠ” 캐슀트 μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ μžλ™μœΌλ‘œ ν˜• λ³€ν™˜ 일어남(μžλ™ ν˜• λ³€ν™˜ : Promotion).

- 크기가 큰 데이터 νƒ€μž… → 크기가 μž‘μ€ 데이터 νƒ€μž…μœΌλ‘œ λ³€ν™˜ν•  λ•ŒλŠ” 캐슀트 μ—°μ‚°μž μ‚¬μš©ν•΄ λ³€ν™˜ν•  데이터 νƒ€μž… λͺ…μ‹œν•΄μ•Ό 함. (κ°•μ œ ν˜• λ³€ν™˜ : Type Casting). 그렇지 μ•ŠμœΌλ©΄ μ»΄νŒŒμΌμ‹œ 였λ₯˜ λ°œμƒ.

- μ„œλ‘œ λ‹€λ₯Έ νƒ€μž…μ˜ 데이터 μ—°μ‚° 진행할 경우 큰 데이터 νƒ€μž… 가진 μͺ½μ— 맞좰 μžλ™ ν˜• λ³€ν™˜ ν›„ μ—°μ‚° 진행.

- int ν˜•λ³΄λ‹€ μž‘μ€ λ°μ΄ν„°νƒ€μž…μ˜ μ—°μ‚° 진행할 경우 μžλ™μœΌλ‘œ intν˜•μœΌλ‘œ ν˜• λ³€ν™˜ 이루어짐.

- int ν˜•λ³΄λ‹€ 큰 λ°μ΄ν„°νƒ€μž…μ˜ μ—°μ‚° 진행할 경우 intν˜•λ³΄λ‹€ 큰 데이터 νƒ€μž…μœΌλ‘œ ν˜• λ³€ν™˜ 이루어짐.

μžλ™ ν˜• λ³€ν™˜
μΊμŠ€νŒ…μ΄μš©ν•΄ κ°•μ œ ν˜• λ³€ν™˜
μ˜ˆμ™Έμ‚¬ν•­

 

 

<μ—°μ‚°μ—μ„œμ˜ ν˜• λ³€ν™˜>

- μ„œλ‘œ λ‹€λ₯Έ νƒ€μž…μ˜ μ—°μ‚°μ—μ„œ κ²°κ³Ό 값은 큰 νƒ€μž…μ„ 따라감.

- int보닀 μž‘μ€ νƒ€μž…μ˜ μ—°μ‚° κ²°κ³ΌλŠ” 무쑰건 intν˜•μœΌλ‘œ λ°˜ν™˜.(byteνƒ€μž…λΌλ¦¬μ˜ μ—°μ‚°, byte와 short, short끼리 μ—°μ‚°)

 

728x90

'FOR SW ENGINEERπŸ‘©β€πŸ’» > JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

κ΅­λΉ„JAVAμˆ˜μ—… DAY-9  (0) 2021.08.24
κ΅­λΉ„JAVAμˆ˜μ—… DAY-5 ~ DAY-8  (0) 2021.08.24
κ΅­λΉ„JAVAμˆ˜μ—… DAY-4  (0) 2021.08.18
κ΅­λΉ„JAVAμˆ˜μ—… DAY-3  (0) 2021.08.17
κ΅­λΉ„JAVAμˆ˜μ—… DAY-1  (0) 2021.08.10