λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
IT

μ‹ μž… μ›Ήκ°œλ°œμž 기술질문/λ‹΅ λͺ¨μŒ

by yunamom 2022. 3. 24.
λ°˜μ‘ν˜•

데이터
int 4λ°”μ΄νŠΈ..μ•Œμ•„λ‘κΈ°

 

πŸ‘‡μžλ°”μ˜ μž₯단점
μž₯점 은 κ°€μƒλ¨Έμ‹ μœΌλ‘œ 인해 이식성이 λ†’μŠ΅λ‹ˆλ‹€.
단점은 μ»΄νŒŒλ§μΈκ³Όμ •μ΄ λŠ¦μŠ΅λ‹ˆλ‹€. 응닡이 λŠ¦μ–΄ μ„œλ²„μ— μ ν•©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

 

πŸ‘‡κ°μ²΄μ§€ν–₯ μ–Έμ–΄ λž€?
μžλ°”, 파이썬 C ++ λ“± 객체λ₯Ό λ§Œλ“€κ³  μ‚¬μš©ν•˜λŠ” μ–Έμ–΄ μž…λ‹ˆλ‹€.
μœ μ§€λ³΄μˆ˜κ°€ μ‰½μŠ΅λ‹ˆλ‹€.

 

πŸ‘‡μžλ°”κ°€μƒλ¨Έμ‹ μ΄λž€ ?
λ©”λͺ¨λ¦¬λ₯Ό μžλ™κ΄€λ¦¬ν•΄μ£Όκ³ , μ‰½κ²Œ λ‹€λ₯Έ 운영체제 μ΄μ‹ν•˜λŠ” κ°œλ°œν™˜κ²½μ΄λΌ μƒκ°ν•©λ‹ˆλ‹€.

 

πŸ‘‡ν΄λž˜μŠ€λž€?
객체의 섀계도 μž…λ‹ˆλ‹€. ν˜„μ‹€μ˜ 예둜 λ“€λ©΄ μžλ™μ°¨μ˜ ν‹€ μ΄λ‚˜ 뢕어빨이 ν‹€ 같은것 μž…λ‹ˆλ‹€.

 

πŸ‘‡μƒμ„±μžλž€ ?
ν΄λž˜μŠ€μ™€ 이름이 λ™μΌν•œ λ©”μ†Œλ“œ : ν•„λ“œλ₯Ό μ΄ˆκΈ°ν™”ν•΄μ€λ‹ˆλ‹€.

 

πŸ‘‡κ°μ²΄μ§€ν–₯ μ–Έμ–΄ νŠΉμ§• 4가지?

객체지ν–₯ (OOP)
좔상화 μƒμœ„ν΄λž˜μŠ€ μ•žμ—λŠ” μ—μŠ€νŠΈλ ‰νŠΈκ°€ λΆ™κ³  μƒμœ„ν΄λž˜μŠ€λŠ” λ©”μ„œλ“œμ΄λ¦„λ§Œ λ§Œλ“€μ–΄λ†“κ³  ν•˜μœ„ν΄λž™μŠ€
κ°€ μƒμ†λ°›μ„μ‹œ μƒμœ„ν΄λΌμŠ€μ˜λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κ²Œλ” ν•˜λŠ”κ²ƒμ„ λ§ν•©λ‹ˆλ‹€.
νŠΉμ§•μœΌλ‘œλŠ” κ°•μ œμ„±μ΄ μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μœ„ν΄λž˜μŠ€κ°€ μƒμœ„ν΄λž˜μŠ€μ˜ λ§€μ„œλ“œλ₯Ό μ‚¬μš©μ•Šν• μ‹œ μ—λŸ¬κ°€ μƒκΉλ‹ˆλ‹€.
μΊ‘μŠν™” ν΄λž˜μŠ€μ•ˆ 에 λͺ¨λ“ κ±Έ λ©”μ„œλ“œν™” μ‹œμΌœμ„œ μ‚¬μš©ν•˜λŠ”κ±Έλ§ν•©λ‹ˆλ‹€. νŠΉμ§•μœΌλ‘œλŠ” 은닉화가 μžˆμŠ΅λ‹ˆλ‹€.
μ™ΈλΆ€μ—μ„œ 접근을 λͺ»ν•˜κ²Œ ν• μˆ˜μžˆμŠ΅λ‹ˆλ‹€.(public,protected,default(μƒλž΅),private / getter,setter)
상속 ν•˜μœ„ν΄λž˜μŠ€κ°€ μƒμœ„ν΄λž˜μŠ€μ˜ ν•„λ“œκ°’κ³Ό λ©”μ„œλ“œλ₯Ό λ¬Όλ ₯λ°›λŠ”κ²ƒ μž…λ‹ˆλ‹€.
λ‹€ν˜•μ„± ν•˜λ‚˜μ˜ μš”μ²­μ— μ™”μ„λ•Œ 각각 λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜κ²Œ ν•˜λŠ”κ²ƒμ„ λ§ν•©λ‹ˆλ‹€.

 

πŸ‘‡μΆ”μƒν΄λž˜μŠ€μ™€ 일반 클래슀의 차이점은 무엇?
객체화 κ°€λŠ₯ μ—¬λΆ€μž…λ‹ˆλ‹€. μΆ”μƒν΄λž˜μŠ€λŠ” λΆˆκ°€ν•©λ‹ˆλ‹€. 일반 ν΄λž˜μŠ€λŠ” κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

πŸ‘‡μΆ”μƒν΄λž˜μŠ€μ™€ μΈν„°νŽ˜μ΄μŠ€μ˜ 차이점은 무엇?
μΆ”μƒν΄λž˜μŠ€λŠ” 클래슀 μž…λ‹ˆλ‹€. ν•„λ“œκ°’ 섀정및 λ©”μ†Œλ“œ 내뢀코딩이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
μΈν„°νŽ˜μ΄μŠ€λŠ” ν΄λž˜μŠ€κ°€ μ•„λ‹™λ‹ˆλ‹€. ν•„λ“œκ°’ 섀정이 λΆˆκ°€ν•©λ‹ˆλ‹€. λ©”μ†Œλ“œλŠ” μ΄λ¦„λ§Œ 지정 κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

πŸ‘‡λ‚΄λΆ€ν΄λž˜μŠ€λž€ ?
클래슀 μ•ˆμ˜ 클래슀 μ€‘μ²©ν΄λž˜μŠ€λΌκ³ λ„ ν•©λ‹ˆλ‹€. ν•„ν„°λ‚˜ μ–΄λ €μš΄ 곡식,μ½”λ“œ 등을 μ‰½κ²Œ κ°€μ§€κ³ μ™€μ„œ μ‚¬μš©ν• λ•Œ
μ‚¬μš©ν•©λ‹ˆλ‹€. λ‚΄λΆ€ 클래슀 μ•žμ— μŠ€νƒœν‹±μ„ λΆ™ν˜€ μ‚¬μš©ν•˜λŠ”κ±Έ μ •μ λ‚΄λΆ€ν΄λž˜μŠ€ 라고도 ν•©λ‹ˆλ‹€.

 

πŸ‘‡μ΅λͺ…ν΄λž˜μŠ€λž€ ?
λ©”μ†Œλ“œλ₯Ό 상속받을 λ•Œ κΈ‰ν•˜κ²Œ λ‹€λ₯΄κ²Œ μ“Έμˆ˜μžˆλŠ”κ±Έ λ§ν•©λ‹ˆλ‹€.
ν˜•μ‹μ€ κ°™λ˜ μ•ˆμ˜ λ‚΄μš©λ§Œ λ°”κΏ€μˆ˜μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ‘‡Listλž€ ?
μ–΄λ ˆμ΄(λ°°μ—΄)κ°€ λΆˆνŽΈν•œμ μ„ ν΄λž˜μŠ€ν™”ν•˜μ—¬ λ³΄μ™„ν•œκ²ƒ μž…λ‹ˆλ‹€.
배열은 크기λ₯Ό μ§€μ •ν•΄μ•Όν•˜λŠ” 반면 λ¦¬μŠ€νŠΈλŠ” κ·ΈλŸ΄ν•„μš”κ°€μ—†μŠ΅λ‹ˆλ‹€.
배열은 λ‹€λ₯Έν˜•μΌ 넣지λͺ»ν•˜λŠ” 반면 λ¦¬μŠ€νŠΈλŠ” λ‹€λ₯Έν˜•μ„ λ„£μ„μˆ˜μžˆμŠ΅λ‹ˆλ‹€.
배열은 데이터좔가각 μ–΄λ ΅μ§€λ§Œ λ¦¬μŠ€λŠ”λŠ” μ–΄λ €μš΄νŽΈμ΄ μ•„λ‹™λ‹ˆλ‹€.

 

πŸ‘‡List와 setκ³Ό map의 차이점은 ?
ListλŠ” 쀑볡을 ν—ˆμš©ν•©λ‹ˆλ‹€.
set은 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λ¦¬μŠ€νŠΈλŠ” arrayList, linkedlistκ°€ 있고 setμ—λŠ” hashset, treeset이 μžˆμŠ΅λ‹ˆλ‹€.
map은 KeyλŠ” 쀑볡이 ν—ˆμš©λ˜μ§€ μ•Šμ§€λ§Œ valueλŠ” 쀑볡이 ν—ˆμš©λ©λ‹ˆλ‹€.
map μ—λŠ” hashmapκ³Ό treemap이 μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ‘‡μ΄μ§„νƒμƒ‰ νŠΈλ¦¬λž€?
데이터 μ €μž₯ μ•Œκ³ λ¦¬μ¦˜ μž…λ‹ˆλ‹€.
이전 데이터 보닀 크면 였λ₯Έμͺ½ μž‘μœΌλ©΄ μ™Όμͺ½ 데이터λ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ νŽΈμ€‘μ΄λ˜λ©΄ 데이터 μ½λŠ” 속도가 λŠλ €μ§‘λ‹ˆλ‹€.

 

πŸ‘‡treesetκ³Ό hashset의 μ°¨μ΄λŠ” ?

treeset hashset
ν•˜λ‚˜μ˜ ν˜•λ§Œ μ €μž₯ κ°€λŠ₯ λ‹€λ₯Έν˜• μ €μž₯ κ°€λŠ₯

πŸ‘‡treemapκ³Ό hashmap의 μ°¨μ΄λŠ” ?

treemap hashmap
μžλ™μ •λ ¬, Key에 nullκ°’ X Key에 nullκ°’ ν•œλ²ˆ ν—ˆμš©, null자체λ₯Ό ν•˜λ‚˜μ˜ Key둜 λ³Έλ‹€.

πŸ‘‡μΊ‘μŠν™” μ ‘κ·Όμ§€μ •μž

public protected default(μƒλž΅) private
λͺ¨λ“ ν΄λž˜μŠ€μ—μ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€. (νƒ€νŒ¨ν‚€μ§€λ‘œλΆ€ν„°μ˜ 접근차단) 같은 νŒ¨ν‚€μ§€ 클래슀 μ ‘κ·Ό κΈˆμ§€

πŸ‘‡λ§€μ„œλ“œ μ˜€λ²„λ‘œλ”© μ΄λž€ ?

클래슀 내뢀에 ν•¨μˆ˜μ΄λ¦„μ„ μ—¬λŸ¬κ°œ μ‚¬μš©ν• μˆ˜μžˆλŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€.


πŸ‘‡λ§€μ„œλ“œ μ˜€λ²„λΌμ΄λ“œλž€ ?

μƒμœ„ν΄λž˜μŠ€μ— μžˆλŠ” ν•„λ“œκ°’κ³Ό λ©”μ„œλ“œλ₯Ό ν•˜μœ„ν΄λž˜μŠ€κ°€ 같은 이름을 λ§Œλ“€μ–΄ μ‚¬μš©ν•˜λŠ”κ²ƒμž…λ‹ˆλ‹€

 

πŸ‘‡μŠ€νƒœν‹±μ΄λž€ ?

ν”„λ‘œκ·Έλž¨μ„ μ‹œμž‘ν• μ‹œ λ©”λͺ¨λ¦¬μ— 생성이 λ˜λŠ”κ²ƒμ„ λ§ν•©λ‹ˆλ‹€. newλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.


πŸ’‘MVC νŒ¨ν„΄μ΄λž€? (μ€‘μš”)

 

M - Model V - View C - Controller
λ°μ΄ν„°μ˜ μ „λ‹¬μƒμž μœ μ €μ—κ²Œ λ³΄μ—¬μ§€λŠ” ν™”λ©΄ 전체적인 μ‹€ν–‰ 흐름을 μ œμ–΄ν•œλ‹€.

 

ν”„λ‘œμ νŠΈ 규λͺ¨κ°€ 컀질 수둝, μœ μ§€λ³΄μˆ˜μ„±κ³Ό μž¬μ‚¬μš©μ„±μ΄ μ€‘μš”ν•΄μ§„λ‹€.

 

μœ μ§€λ³΄μˆ˜μ„±κ³Ό μž¬μ‚¬μš©μ„±μ΄ 쒋은 ꡬ쑰둜 λ§Œλ“€κΈ° μœ„ν•œ λŒ€ν‘œμ μΈ 기술이

 

객체지ν–₯ 섀계, 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λ‹€.

 

객체지ν–₯ ꡬ쑰λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ μ€‘μš”ν•œ 원칙 쀑 ν•˜λ‚˜λŠ”,

 

κΈ°λŠ₯별, μ—­ν• λ³„λ‘œ μ†ŒμŠ€ μ½”λ“œλ₯Ό λΆ„λ¦¬ν•΄μ„œ κ΅¬ν˜„ν•œλ‹€λŠ” 것이닀.

 

κ·Έλž˜μ„œ μ›Ήμ„œλ²„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ κΈ°λŠ₯을, Model View Controller 둜 λΆ„λ¦¬ν•˜λŠ” 것이

 

객체지ν–₯적인 ꡬ쑰이닀.

 

M : model 은 데이터λ₯Ό μ±„μ›Œμ„œ μ „λ‹¬ν•˜κΈ° μœ„ν•œ 객체이닀.

V : view λŠ” ν™”λ©΄ 좜λ ₯을 λ‹΄λ‹Ήν•œλ‹€.

C : controller λŠ” 전체적인 μ‹€ν–‰ 흐름을 μ œμ–΄ν•œλ‹€.

 

ν™”λ©΄ 좜λ ₯κ³Ό κ΄€λ ¨λœ μ½”λ“œλŠ” Viewμ—λ§Œ κ΅¬ν˜„λ˜μ–΄μ•Ό ν•œλ‹€.

μ‹€ν–‰ 흐름 μ œμ–΄μ™€ κ΄€λ ¨λœ μ½”λ“œλŠ” Controllerμ—λ§Œ κ΅¬ν˜„λ˜μ–΄μ•Ό ν•œλ‹€.

 

Viewλ₯Ό κ΅¬ν˜„ν•˜λŠ” 기술 쀑 ν•˜λ‚˜λŠ” JSP 이닀.

Controller와 Model은 Java ν΄λž˜μŠ€λ‘œ κ΅¬ν˜„λ˜μ–΄μ•Ό ν•œλ‹€.


πŸ‘‡μ“°λ ˆλ“œλž€ ?

ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄ μž‘μ—…λ‹¨μœ„ μž…λ‹ˆλ‹€.

λ™μ‹œμž‘μ—…μ„ μ—¬λŸ¬κ°œ ν•΄μ€„μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
κ²Œμž„μœΌλ‘œ 예λ₯Ό λ“€μžλ©΄ κ²Œμž„λ‚΄μ— μ€€λΉ„λ₯Ό ν•˜λŠ”λ™μ•ˆ λ‘œλ”©μ°½μ΄ λ³΄μž…λ‹ˆλ‹€.
κ²Œμž„μ΄ μ€€λΉ„λ₯Ό ν•˜λŠ”λ™μ•ˆμ—λŠ” λ‘œλ”©μ°½μ΄ μž‘μ—…μ„ ν•˜κ²Œλ˜λŠ”κ²ƒμ΄μ£ 

 

πŸ‘‡λ°λͺ¬μ“°λ ˆλ“œλž€ ?
main μŠ€λ ˆλ“œ λ™μž‘ν• λ•Œ λ’€μ—μ„œ λ™μž‘ν•©λ‹ˆλ‹€. 단 λ©”μΈμ“°λ ˆλ“œκ°€ μ’…λ₯˜λ λ•Œ 같이쒅λ₯˜λ©λ‹ˆλ‹€.
λŒ€ν‘œμ μœΌλ‘œλŠ” μžλ™μ €μž₯이 μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ‘‡λ™κΈ°ν™”μ™€ 곡유객체, μƒνƒœμ œμ–΄κ°€ 무엇?
κ³΅μœ κ°μ²΄λž€ ν•œμ •λœ κ°μ²΄μž…λ‹ˆλ‹€.
동기화 μŠ€λ ˆλ“œλŠ” 곡유객체λ₯Ό μ›ν•˜λŠ” μŠ€λ ˆλ“œμ€‘ μš°λ¦¬κ°€ λ™κΈ°ν™”μ‹œν‚¨κ²ƒμž…λ‹ˆλ‹€.
μƒνƒœμ œμ–΄λŠ” νŠΉμ •μ‘°κ±΄μ—μ„œ κ°™κ³ μžˆλŠ” 것을 λΊλŠ”κ²ƒμž…λ‹ˆλ‹€. wajt와 notifyκ°€ μžˆλŠ”κ²ƒμœΌλ‘œ μ•Œκ³ μžˆμŠ΅λ‹ˆλ‹€.

 

πŸ‘‡Object-Oriented Programming(OOP) λž€?

μ’€ 더 λ‚˜μ€ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μœΌλ‘œ

λ‘œμ§μ„ state(μƒνƒœ)와 behave(ν–‰μœ„) 둜 이루어진 Object(객체) 둜 λ§Œλ“œλŠ” 것이닀.

이 객체듀을 마치 레고 λΈ”λŸ­μ²˜λŸΌ μ‘°λ¦½ν•΄μ„œ ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“œλŠ” 것이 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λΌκ³  ν•  수 μžˆλ‹€

 

πŸ‘‡μ‚¬μš©ν•΄λ³Έ IDE λŠ” ?

예) ν†΅ν•©κ°œλ°œν™˜κ²½ μ΄ν΄λ¦½μŠ€λ₯Ό μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

300x250

μ½”λ“œ