λ ˆκ±°μ‹œ

2022.02.21의 기둝

GroovyArea 2022. 2. 21. 10:23

β–Ά μ˜€λŠ˜ μ‹€ν˜„ κ°€λŠ₯ν•œ μ„ΈλΆ€ λͺ©ν‘œ

=>  곡뢀 κ΄€λ ¨

1) λžŒλ‹€μ™€ 슀트림

2) λŒ€λ‹΅ λͺ»ν•œ 질문 λ‹΅ 정리

3) μžλ°” λ¦¬νŒ©ν† λ§

4) 금일 배운 λ‚΄μš© 볡슡

 

=> νŒŒμ΄λ„ ν”„λ‘œμ νŠΈ κ΄€λ ¨

1) ν™”λ©΄ μ„€κ³„μ„œ 회의

 


β–Ά 곡뢀 λ‚΄μš©

EL ν•¨μˆ˜

  • ν•¨μˆ˜ : λ§€κ°œλ³€μˆ˜λ‘œ 값을 제곡 λ°›μ•„ μ²˜λ¦¬ν•˜κ³  λ°˜ν™˜
  • λ©”μ„œλ“œ : ν•„λ“œλ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•¨
  • ⇒ EL ν•¨μˆ˜λ‘œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλŠ” λ°˜λ“œμ‹œ static λ©”μ„œλ“œλ‘œ μ„ μ–Έ

TLD파일

function

  • EL ν•¨μˆ˜λ₯Ό λ“±λ‘ν•˜κΈ° μœ„ν•œ μƒμœ„ μ—˜λ¦¬λ¨ΌνŠΈ

name

  • EL ν•¨μˆ˜λͺ…을 μ„€μ •ν•˜λŠ” μ—˜λ¦¬λ¨ΌνŠΈ

function-class

  • EL ν•¨μˆ˜μ— μ˜ν•΄ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œκ°€ μ„ μ–Έλœ 클래슀λ₯Ό μ„€μ •ν•˜λŠ” μ—˜λ¦¬λ¨ΌνŠΈ

function-signature

  • EL ν•¨μˆ˜μ— μ˜ν•΄ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλ₯Ό μ„€μ •ν•˜λŠ” μ—˜λ¦¬λ¨ΌνŠΈ

short-name

  • TLD 파일의 이름을 μ„€μ •ν•˜κΈ° μœ„ν•œ μ—˜λ¦¬λ¨ΌνŠΈ

uri

  • JSP λ¬Έμ„œμ—μ„œ TLD νŒŒμΌμ„ 뢈러였기 μœ„ν•œ μ‹λ³„μžλ₯Ό μ„€μ •ν•˜κΈ° μœ„ν•œ μ—˜λ¦¬λ¨ΌνŠΈ
  • ⇒ WASκ°€ μ‹œμž‘λ  λ•Œ λΆˆλŸ¬λ“€μž„ μ ˆλŒ€ μ€‘λ³΅λ˜λ©΄ μ•ˆλ¨

tag

  • JSP λ¬Έμ„œμ—μ„œ μ‚¬μš©ν•  μ»€μŠ€ν…€ νƒœκ·Έλ₯Ό μ„€μ •ν•˜κΈ° μœ„ν•œ μƒμœ„ μ—˜λ¦¬λ¨ΌνŠΈ

name

  • μ»€μŠ€ν…€ νƒœκ·Έλͺ…을 μ„€μ •ν•˜κΈ° μœ„ν•œ μ—˜λ¦¬λ¨ΌνŠΈ

tag-class

  • μ»€μŠ€ν…€ νƒœκ·Έλ₯Ό μ‚¬μš©ν•  경우 호좜될 λ©”μ„œλ“œμ•… μ„ μ–Έλœ 클래슀λ₯Ό μ„€μ •

body-content

  • μ»€μŠ€ν…€ νƒœκ·Έμ˜ νƒœκ·Έλ‚΄μš©μ„ μ„€μ •ν•˜κΈ° μœ„ν•œ μ—˜λ¦¬λ¨ΌνŠΈ

required

  • μ»€μŠ€ν…€ νƒœκ·Έμ˜ 속성에 λŒ€ν•œ ν•„μˆ˜ μ—¬λΆ€λ₯Ό μ„€μ •ν•˜λŠ” μ—˜λ¦¬λ¨ΌνŠΈ
  • ⇒ false : 선택 속성(κΈ°λ³Έ), true : ν•„μˆ˜ 속성

rtexprvalue

  • νƒœκ·Έ μ†μ„±κ°’μœΌλ‘œ JSP Expression λ˜λŠ” EL의 μ‚¬μš© μ—¬λΆ€λ₯Ό μ„€μ •ν•˜λŠ” μ—˜λ¦¬λ¨ΌνŠΈ
  • ⇒ false : μ‚¬μš© λΆˆκ°€λŠ₯(κΈ°λ³Έ), true : μ‚¬μš© κ°€λŠ₯

⇒ ν¬μΈνŠΈλŠ” taglib λ””λ ‰ν‹°λΈŒλ‘œ tld νŒŒμΌμ„ λΆˆλŸ¬μ™€μ„œ ν•¨μˆ˜λ₯Ό μ‚¬μš© κ°€λŠ₯ν•˜λ‹€λŠ” 점

EL Operator

  • μ‚°μˆ , 논리, 관계, empty μ—°μ‚°μž. JSTLκ³Ό 썼을 λ•Œ μ˜λ―Έκ°€ 있음.
  • μ“Έ 일이 많이 μ—†μŒ..

empty μ—°μ‚°μž

  • EL ν‘œν˜„μ‹μœΌλ‘œ μ œκ³΅λ˜λŠ” κ°’(객체)이 μžˆλŠ” 경우 falseλ₯Ό μ œκ³΅ν•˜κ³  ELν‘œν˜„μ‹μœΌλ‘œ μ œκ³΅λ˜λŠ” 값이 μ—†κ±°λ‚˜ λΉ„μ–΄ μžˆλŠ” 경우 trueλ₯Ό μ œκ³΅ν•˜λŠ” μ—°μ‚°μž

Custom Tag

  • 슀크립트 μš”μ†Œκ°€ λ§Žμ•„μ§€λ©΄ JSPμ½”λ“œκ°€ λ³΅μž‘ν•΄μ§
  • μŠ€ν¬λ¦½ν‹€λ¦Ώ λŒ€μ‹  μ‚¬μš©ν•˜κΈ° μœ„ν•΄ ν”„λ‘œκ·Έλž˜λ¨Έκ°€ 직접 λ§Œλ“  νƒœκ·Έ
  • μžλ°” λͺ…λ Ήμ–΄λ₯Ό μ—†μ• κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•œλ‹€.
  • ⇒ νƒœκ·Έ 클래슀 μž‘μ„± >> TLD νŒŒμΌμ— μ»€μŠ€ν…€ νƒœκ·Έ 등둝 >> JSP λ¬Έμ„œμ—μ„œ μ»€μŠ€ν…€ νƒœκ·Έ μ‚¬μš©

νƒœκ·Έ 클래슀

  • JSP λ¬Έμ„œμ—μ„œ μ»€μŠ€ν…€ νƒœκ·Έλ₯Ό μ‚¬μš©ν•  경우 호좜될 λ©”μ„œλ“œκ°€ μ„ μ–Έλœ 클래슀
  • ⇒ TagSupport 클래슀, BodyTagSupport 클래슀, SimpleTagSupport 클래슀 쀑 ν•˜λ‚˜λ₯Ό 상속받아 μž‘μ„±
  • ⇒ μ»€μŠ€ν…€ νƒœκ·Έ μ‚¬μš© μ‹œ ν˜ΈμΆœλ˜λŠ” λ©”μ„œλ“œλŠ” λΆ€λͺ¨ν΄λž˜μŠ€μ˜ λ©”μ„œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ“œ μ„ μ–Έν•˜μ—¬ μž‘μ„±

PageContext.getOut()

  • 응닡결과λ₯Ό μƒμ„±ν•˜κΈ° μœ„ν•œ 좜λ ₯μŠ€νŠΈλ¦Όμ„ λ°˜ν™˜ν•œλŠ λ©”μ„œλ“œ
  • ⇒ 좜λ ₯슀트림의 λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ κ²°κ³Ό(html)λ₯Ό μ „λ‹¬ν•˜μ—¬ 응닡

μƒμ„±μž

  • μΈμŠ€ν„΄μŠ€ μƒμ„±μ‹œ ν•„λ“œ μ΄ˆκΈ°ν™” μž‘μ—… → ν•„λ“œκ°’ μ €μž₯

JSTL

  • λ§Žμ΄λ“€ μ‚¬μš©ν•˜λŠ” μ»€μŠ€ν…€ νƒœκ·Έλ“€μ„ λͺ¨μ•„놓은 라이브러리

Core

  • EL 지원, ν”„λ‘œκ·Έλž¨μ˜ 흐름 μ œμ–΄, URL μ£Όμ†Œ κ΄€λ¦¬λ“±μ˜ νƒœκ·Έ 제곡

1. set νƒœκ·Έ

  • μŠ€μ½”ν”„ 객체에 속성값을 μ €μž₯ν•˜κ±°λ‚˜ λ³€κ²½ν•˜κΈ° μœ„ν•œ νƒœκ·Έ
  • μΈμŠ€ν„΄μŠ€ ν•„λ“œκ°’ λ³€κ²½ κ°€λŠ₯
  • target 속성 : μŠ€μ½”ν”„ 객체에 μ €μž₯된 속성값(μΈμŠ€ν„΄μŠ€)을 μ†μ„±κ°’μœΌλ‘œ μ„€μ •
  • property 속성 : ν•„λ“œκ°’μ„ λ³€κ²½ν•  μΈμŠ€ν„΄μŠ€μ˜ ν•„λ“œλͺ…을 μ†μ„±κ°’μœΌλ‘œ μ„€μ •

var 속성

  • μŠ€μ½”ν”„ 객체의 속성λͺ…을 μ†μ„±κ°’μœΌλ‘œ μ„€μ •

value 속성

  • μŠ€μ½”ν”„ 객체의 μ €μž₯될 속성값(μΈμŠ€ν„΄μŠ€)λ₯Ό μ†μ„±κ°’μœΌλ‘œ μ„€μ •
  • ⇒ μ†μ„±κ°’μœΌλ‘œ EL μ„€μ • κ°€λŠ₯
  • ⇒ 속성값 같을 경우 속성값 λ³€κ²½
  • EL에 μ˜ν•΄ 제곡된 속성값이 μΈμŠ€ν„΄μŠ€μΈ 경우 toString() μžλ™ 호좜 & 값을 λ°˜ν™˜ν•˜λŠ” λ©”μ†Œλ“œ 호좜 κ°€λŠ₯
  • ⇒ μΈμŠ€ν„΄μŠ€μ— toString λ©”μ„œλ“œκ°€ μ˜€λ²„λΌμ΄λ“œλ˜μ§€ μ•Šμ•˜λ‹€λ©΄ Object 클래슀의 toString() λ©”μ„œλ“œ 호좜

scope 속성

  • μŠ€μ½”ν”„ 객체의 μ €μž₯된 속성값 μ‚¬μš© λ²”μœ„λ₯Ό μ†μ„±κ°’μœΌλ‘œ μ„€μ •
  • ⇒ page(κΈ°λ³Έ), request, session, application

2. remove νƒœκ·Έ

  • μŠ€μ½”ν”„ 객체에 μ €μž₯된 속성값을 μ œκ±°ν•˜λŠ” νƒœκ·Έ

3. out νƒœκ·Έ

  • μŠ€μ½”ν”„ 객체의 속성값을 ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ „λ‹¬ν•˜λŠ” νƒœκ·Έ
  • EL을 μ‚¬μš©ν•˜μ—¬ HTML νƒœκ·Έκ°€ ν¬ν•¨λœ λ¬Έμžμ—΄μ„ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 전달할 경우 νƒœκ·Έκ°€ μ μš©λ˜μ§€λ§Œ, out νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ νƒœκ·Έκ°€ ν¬ν•¨λœ λ¬Έμžμ—΄μ„ 전달할 경우 νƒœκ·Έλ„ λ¬Έμžμ—΄λ‘œ μ μš©λ˜μ–΄ 좜λ ₯. → XSS 곡격을 λ°©μ–΄ν•˜κΈ° μœ„ν•΄ λ‚˜μ˜¨ νƒœκ·Έ

Core - 흐름 μ œμ–΄ νƒœκ·Έ

if νƒœκ·Έ

  • 쑰건에 따라 νƒœκ·Έλ‚΄μš©μ˜ 좜λ ₯을 μ„ νƒν•˜λŠ” νƒœκ·Έ - else κΈ°λŠ₯ 미쑴재
  • test 속성 : false λ˜λŠ” true 쀑 ν•˜λ‚˜λ₯Ό 속성 κ°’μœΌλ‘œ μ„€μ •
  • ⇒ 속성값이 false인 경우 νƒœκ·Έ λ‚΄μš©μ„ 좜λ ₯ν•˜μ§€ μ•Šκ³  true인 경우 λ‚΄μš© 좜λ ₯을 μ„ νƒν•˜λŠ” 속성

choose νƒœκ·Έ

  • 쑰건에 따라 νƒœκ·Έλ‚΄μš© 좜λ ₯을 μ„ νƒν•˜λŠ” μƒμœ„νƒœκ·Έ
  • ⇒ ν•˜μœ„ νƒœκ·Έλ₯Ό μ΄μš©ν•˜μ—¬ νƒœκ·Έ λ‚΄μš©μ„ μ„ νƒν•˜μ—¬ 좜λ ₯
  • ⇒ ν•˜μœ„ νƒœκ·Έ : when νƒœκ·Έ(1개 이상), otherwise νƒœκ·Έ(0개 λ˜λŠ” 1개)
  • ⇒ choose νƒœκ·Έμ˜ ν•˜μœ„νƒœκ·Έλ₯Ό μ œμ™Έν•œ μ½”λ“œκ°€ μ‘΄μž¬ν•˜ 경우 μ—λŸ¬ λ°œμƒ - JSP 주석 μ œμ™Έ
  • when νƒœκ·Έ : 쑰건에 따라 νƒœκ·Έλ‚΄μš© 좜λ ₯을 μ„ νƒν•˜λŠ” νƒœκ·Ό
  • test 속성 : false λ˜λŠ” true 쀑 ν•˜λ‚˜λ₯Ό 속성 κ°’μœΌλ‘œ μ„€μ •
  • ⇒ 속성값이 false인 경우 νƒœκ·Έ λ‚΄μš©μ„ 좜λ ₯ν•˜μ§€ μ•Šκ³  true인 경우 λ‚΄μš© 좜λ ₯을 μ„ νƒν•˜λŠ” 속성
  • otherwise νƒœκ·Έ : λͺ¨λ“  when νƒœκ·Έμ˜ 쑰건이 거짓인 경우 νƒœκ·Έλ‚΄μš©μ„ 좜λ ₯ν•˜λŠ” νƒœκ·Έ

Formatter

  • 숫자, λ‚ μ§œ, μ‹œκ°„ ν˜•μ‹ λ³€κ²½ 및 κ΅­μ œν™”, λ‹€κ΅­μ–΄ μ§€μ›λ“±μ˜ νƒœκ·Έ 제곡

Database

  • ν…Œμ΄λΈ”μ˜ 행에 λŒ€ν•œ μ‚½μž…, λ³€κ²½, μ‚­μ œ, 검색 κΈ°λŠ₯의 νƒœκ·Έ 제곡

Xml

  • XML λ¬Έμ„œμ— λŒ€ν•œ 처리 κΈ°λŠ₯의 νƒœκ·Έ 제곡

Functions

  • λ¬Έμžμ—΄ 처리 κΈ°λŠ₯의 EL ν•¨μˆ˜ 제곡

β–Ά κ°œμΈ 곡뢀

Thread

동기화

  • λ©€ν‹° μŠ€λ ˆλ“œ ν™˜κ²½μ—μ„œ λ™μΌν•œ λ©”λͺ¨λ¦¬μ— μ ‘κ·Όν•˜λŠ” μž‘μ—…μ„ ν•  λ•Œ κ°’μ˜ λΆˆμΌμΉ˜κ°€ λ‚˜νƒ€λ‚  수 μžˆλ‹€.
  • 이λ₯Ό μœ„ν•΄ λ©”μ†Œλ“œλ‚˜ μ˜μ—­μœΌλ‘œ 동기화 ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬μ£Όλ©΄ ν•΄λ‹Ή μŠ€λ ˆλ“œ μž‘μ—…μ΄ λλ‚˜κΈ° 전에 λ‹€λ₯Έ μŠ€λ ˆλ“œκ°€ μ ‘κ·Όν•  수 μ—†κ²Œ λœλ‹€.

Volatile

  • λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œμ—μ„œλŠ” λ³„λ„μ˜ μΊμ‹œλ₯Ό 가지고 μžˆλ‹€
  • μ½”μ–΄λŠ” λ©”λͺ¨λ¦¬μ—μ„œ μ½μ–΄μ˜¨ 값을 μΊμ‹œμ— μ €μž₯ν•˜κ³  μΊμ‹œμ—μ„œ 값을 μ½μ–΄μ„œ μž‘μ—…ν•œλ‹€.
  • κ·ΈλŸ¬λ‹€ λ³΄λ‹ˆ 도쀑에 λ©”λͺ¨λ¦¬μ˜ λ³€μˆ˜ 값이 λ³€κ²½λ˜μ—ˆλŠ”λ°λ„ μΊμ‹œμ— μ €μž₯된 값이 κ°±μ‹ λ˜μ§€ μ•Šμ•„μ„œ λ©”λͺ¨λ¦¬μ— μ €μž₯된 값이 λ‹€λ₯Έ κ²½μš°κ°€ λ°œμƒ
  • μŠ€λ ˆλ“œκ°€ λ©ˆμΆ”μ§€ μ•Šκ³  계속 μ‹€ν–‰.
  • volatile ν‚€μ›Œλ“œλ₯Ό 뢙이면 μΊμ‹œκ°€ μ•„λ‹Œ λ©”λͺ¨λ¦¬μ—μ„œ μ½μ–΄μ˜€κΈ° λ•Œλ¬Έμ— μΊμ‹œμ™€ λ©”λͺ¨λ¦¬κ°„μ˜ κ°’μ˜ λΆˆμΌμΉ˜κ°€ ν•΄κ²°λœλ‹€.

λ³΅μž‘λ„(Complexity)

  • μ•Œκ³ λ¦¬μ¦˜μ˜ μ„±λŠ₯을 λ‚˜νƒ€λ‚΄λŠ” 척도
  • μ‹œκ°„(Time)λ³΅μž‘λ„μ™€ 곡간(Space)λ³΅μž‘λ„λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.
  • μ‹œκ°„ & 곡간 λ³΅μž‘λ„λŠ” 거래 관계 (Trade-off) 성립. ⇒ μƒν˜Έ λ°˜λΉ„λ‘€μ  관계? → λ©”λͺ¨μ œμ΄μ…˜ 기법

μ‹œκ°„ λ³΅μž‘λ„

  • 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„κ³Ό μž…λ ₯의 ν•¨μˆ˜λ₯Ό 가리킨닀.
  • μ•Œκ³ λ¦¬μ¦˜μ„ μœ„ν•΄ ν•„μš”ν•œ μ—°μ‚° 횟수
  • νŠΉμ •ν•œ 크기의 μž…λ ₯에 λŒ€ν•˜μ—¬ μ•Œκ³ λ¦¬μ¦˜μ΄ μ–Όλ§ˆλ‚˜ 였래 κ±Έλ¦¬λŠ”μ§€λ₯Ό 의미
  • λΉ…μ˜€(Big-O) ν‘œκΈ°λ²• : κ°€μž₯ λΉ λ₯΄κ²Œ μ¦κ°€ν•˜λŠ” ν•­λ§Œμ„ κ³ λ €ν•˜λŠ” ν‘œκΈ°, 즉 ν•¨μˆ˜μ˜ μƒν•œλ§Œ λ‚˜νƒ€λƒ„.

int []arr = {1,2,3,4};*//N개의 데이터*

int sum = 0;

for(int value : arr) sum += value;

⇒ μœ„ μ½”λ“œλŠ” μ—°μ‚°νšŸμˆ˜κ°€ N에 비둀함. μ΄λŸ¬ν•œ μ—°μ‚°μ˜ νšŸμˆ˜λŠ” N이 μ¦κ°€ν• μˆ˜λ‘ λŒ€ν­ κ°μ†Œν•¨.

영ν–₯λ ₯이 큰 뢀뢄은 N에 λΉ„λ‘€ν•˜λŠ” 연산을 μˆ˜ν–‰ν•˜λŠ” For문이고, μ‹œκ°„ λ³΅μž‘λ„λ₯Ό O(N)이라고 ν•œλ‹€.

곡간 λ³΅μž‘λ„

  • μ•Œκ³ λ¦¬μ¦˜μ„ μœ„ν•΄ ν•„μš”ν•œ λ©”λͺ¨λ¦¬μ˜ μ–‘
  • νŠΉμ •ν•œ 크기의 μž…λ ₯에 λŒ€ν•˜μ—¬ μ–Όλ§ˆλ‚˜ λ§Žμ€ λ©”λͺ¨λ¦¬λ₯Ό μ°¨μ§€ν•˜λŠ”μ§€λ₯Ό 의미
  • μ—­μ‹œ λΉ…μ˜€ ν‘œκΈ°λ²• μ΄μš©ν•˜λ©°, λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰ 기쀀은 MB λ‹¨μœ„λ‘œ μ œμ‹œλ¨.

⇒ μ½”λ”© ν…ŒμŠ€νŠΈ 문제 ν’€μ΄λŠ” λŒ€λΆ€λΆ„ λ°°μ—΄(λ˜λŠ” 리슀트)을 μ‚¬μš©ν•œλ‹€. 고전적인 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ μ •μˆ˜ν˜• μžλ£Œν˜•μΈ intλ₯Ό κΈ°μ€€μœΌλ‘œ λ°°μ—΄ 크기에 λ”°λ₯Έ λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ€ λ‹€μŒκ³Ό κ°™λ‹€. (μ»΄νŒŒμΌλŸ¬μ— 따라 μ‘°κΈˆμ”© λ‹¬λΌμ§ˆ 수 있음)

  • int a[1000]: 4KB
  • int a[1000000]: 4MB
  • int a[2000][2000]: 16MB

λžŒλ‹€μ‹

  • λžŒλ‹€μ‹μ˜ λ„μž…μœΌλ‘œ μžλ°”λŠ” 객체지ν–₯언어인 λ™μ‹œμ— ν•¨μˆ˜ν˜• μ–Έμ–΄κ°€ λ˜μ—ˆμŒ.
  • λ©”μ„œλ“œλ₯Ό ν•˜λ‚˜μ˜ μ‹μœΌλ‘œ ν‘œν˜„ν•œ 것. 읡λͺ…ν•¨μˆ˜λΌκ³ λ„ ν‘œν˜„
  • λžŒλ‹€μ‹μ€ λ©”μ„œλ“œμ˜ λ§€κ°œλ³€μˆ˜λ‘œ 전달 κ°€λŠ₯ν•˜κ³ , λ©”μ„œλ“œμ˜ 결과둜 λ°˜ν™˜λ  μˆ˜λ„ 있음
  • λ©”μ„œλ“œλ₯Ό λ³€μˆ˜μ²˜λŸΌ λ‹€λ£¨λŠ” 것이 κ°€λŠ₯ν•΄μ‘Œλ‹€

λ©”μ„œλ“œμ™€ ν•¨μˆ˜μ˜ 차이

  • λ©”μ„œλ“œ : 객체의 ν–‰μœ„λ‚˜ λ™μž‘μ„ 의미, νŠΉμ • ν΄λž˜μŠ€μ— λ°˜λ“œμ‹œ 속해야 ν•œλ‹€λŠ” μ œμ•½μ΄ 있음
  • ν•¨μˆ˜: μ œμ•½ 없이 ν•˜λ‚˜μ˜ 독립적인 κΈ°λŠ₯을 함

ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€

  • λžŒλ‹€μ‹μ€ 읡λͺ… 클래슀의 객체와 동등함.
  • ν•˜λ‚˜μ˜ λ©”μ„œλ“œκ°€ μ„ μ–Έλœ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•΄μ„œ λžŒλ‹€μ‹μ„ λ‹€λ£¨λŠ” 것은 μžλ°”μ˜ κ·œμΉ™μ„ 어기지 μ•ŠμœΌλ©΄μ„œλ„ μžμ—°μŠ€λŸ¬μ›€
  • μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 λžŒλ‹€μ‹μ„ λ‹€λ£¨κΈ°λ‘œ κ²°μ •λ˜μ—ˆμœΌλ©°, μ΄λŸ¬ν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€λ‘œ 뢀름.
  • 였직 ν•˜λ‚˜μ˜ 좔상 λ©”μ„œλ“œλ§Œ μ •μ˜λ˜μ–΄ μžˆμ–΄μ•Ό 함. λžŒλ‹€μ‹κ³Ό 1:1둜 μ—°κ²° κ°€λŠ₯해야함. 단 static, defaultλ©”μ„œλ“œλŠ” μ˜ˆμ™Έ.

λžŒλ‹€μ‹μ˜ νƒ€μž…κ³Ό ν˜•λ³€ν™˜

  • λžŒλ‹€μ‹μ€ 였직 ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€λ‘œλ§Œ ν˜•λ³€ν™˜μ΄ κ°€λŠ₯ν•˜λ‹€.

μ™ΈλΆ€ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜λŠ” λžŒλ‹€μ‹

  • λžŒλ‹€μ‹ λ‚΄μ—μ„œ μ°Έμ‘°ν•˜λŠ” μ§€μ—­λ³€μˆ˜λŠ” JINAL이 뢙지 μ•Šμ•˜μ–΄λ„ μƒμˆ˜λ‘œ κ°„μ£Όλœλ‹€.
  • μ™ΈλΆ€ μ§€μ—­λ³€μˆ˜μ™€ 같은 μ΄λ¦„μ˜ λžŒλ‹€μ‹ λ§€κ°œλ³€μˆ˜λŠ” ν—ˆμš©λ˜μ§€ μ•ŠλŠ”λ‹€.

java.util.functionνŒ¨ν‚€μ§€

  • λŒ€λΆ€λΆ„μ˜ λ©”μ„£λŠλŠ νƒ€μž…μ΄ λΉ„μŠ·ν•˜λ©° λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜λ„ λΉ„μŠ·ν•˜λ‹€, μ œλ„ˆλ¦­ λ©”μ„œλ“œλ‘œ μ •μ˜ν•˜λ©΄ λ¬Έμ œκ°€ λ˜μ§€ μ•ŠλŠ”λ‹€
  • 일반적으둜 자주 μ“°μ΄λŠ” ν˜•μ‹μ˜ λ©”μ„œλ“œλ₯Ό ν•¨μˆ˜ν˜• μΈν„°νŽ˜μ΄μŠ€λ‘œ μ •μ˜ν•΄ λ†“μŒ.
  • 이 것을 ν™œμš©ν•˜λŠ” 것이 μœ μ§€λ³΄μˆ˜λ‚˜ μž¬μ‚¬μš©μ„± μΈ‘λ©΄μ—μ„œ μ’‹λ‹€.

β–Ά νŒŒμ΄λ„ ν”„λ‘œμ νŠΈ

> 회의 μ˜ˆμ •

=> ν™”λ©΄ μ„€κ³„μ„œ νŠΈλ ˆμ΄λ„ˆ λΆ€λΆ„ 및 ui

=> μ •κΈ° 배솑 건 처리 방법?

=> μ •κΈ° PT 문의 λΆ€λΆ„ 처리 방법?

=> λŒ€λž΅μ μΈ κ³„νš 수립 μ™„λ£Œ

=> 내일도 8μ‹œ 회의 

λ°˜μ‘ν˜•