π™ΉπšŠπšŸπšŠ

jar 파일둜 μƒμ„±ν•˜κΈ°!jar cvf aProject.jar -C aProject .jar cvf {jar 파일 이름}.jar -C {ν•΄λ‹Ή 폴더 이름} .  1. cvfμ˜΅μ…˜μœΌλ‘œ JAR 생성 방식을 지정:c (create): μƒˆ JAR νŒŒμΌμ„ 생성.v (verbose): 처리 상황을 μžμ„Ένžˆ 좜λ ₯. (예: μ–΄λ–€ 파일이 μΆ”κ°€λ˜μ—ˆλŠ”μ§€ 확인 κ°€λŠ₯.)f (file): κ²°κ³Όλ₯Ό μ§€μ •ν•œ 파일 이름(aProject.jar)으둜 좜λ ₯.즉, μƒˆ JAR νŒŒμΌμ„ μƒμ„±ν•˜κ³ , 처리 κ²°κ³Όλ₯Ό 화면에 좜λ ₯ν•˜λ©΄μ„œ 파일(aProject.jar)둜 μ €μž₯ν•˜λΌλŠ” λͺ…령어이닀.2. aProject.jar생성될 JAR 파일의 μ΄λ¦„μ—¬κΈ°μ„œλŠ”aProject.jarλΌλŠ” μ΄λ¦„μœΌλ‘œ μ••μΆ•λœ JAR 파일이 λ§Œλ“€μ–΄μ§„λ‹€.3. -C aProject .-C μ˜΅μ…˜: 디렉터리..
남ꢁ성 μ €μžμ˜ κ°•μ˜λ₯Ό 보고 ch7을 μ •λ¦¬ν•΄λ³΄μ•˜λ‹€! https://youtu.be/fw7Nm_li0pE?si=gnbl1DufDsyikznQ   λ‹€ν˜•μ„±κΉŒμ§€ λ°˜λ³΅ν•˜λΌ..λ‹€ν˜•μ„±μ„ 이해 λͺ»ν•˜λ©΄ μΆ”μƒν΄λž˜μŠ€, μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄ν•΄ν•˜μ§€ λͺ»ν•œλ‹€6μž₯ ~7μž₯ λ‹€ν˜•μ„±κΉŒμ§€ 많이 λ°˜λ³΅ν•˜λΌ    λ‹€ν˜•μ„±μ΄λž€?μ—¬λŸ¬κ°€μ§€ ν˜•νƒœλ₯Ό κ°€μ§ˆ 수 μžˆλŠ” λŠ₯λ ₯-쑰상 νƒ€μž… μ°Έμ‘° λ³€μˆ˜λ‘œ μžμ† νƒ€μž… 객체λ₯Ό λ‹€λ£¨λŠ” 것-μžμ† νƒ€μž…μ˜ μ°Έμ‘°λ³€μˆ˜λ‘œ 쑰상 νƒ€μž…μ˜ 객체λ₯Ό 가리킬 수 μ—†λ‹€    Tv t = new SmartTv(); νƒ€μž…μ΄ λΆˆμΌμΉ˜ν•΄λ„ OK.     κ°μ²΄μ™€ μ°Έμ‘°λ³€μˆ˜μ˜ νƒ€μž…μ΄ μΌμΉ˜ν•  λ•Œμ™€ μΌμΉ˜ν•˜μ§€ μ•Šμ„ λ•Œμ˜ 차이?SmartTv s = new SmartTv();Tv t = new SmartTv();  sλŠ” 7개λ₯Ό μ‚¬μš©ν•  수 있고, tλŠ” 5개λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€  ..
남ꢁ성 μ €μžμ˜ κ°•μ˜λ₯Ό 보고 ch7을 μ •λ¦¬ν•΄λ³΄μ•˜λ‹€! https://youtu.be/YvCgrZQU4EM?si=nd3kNAonv4s_ritC   instanceof μ—°μ‚°μžλŠ” ν˜•λ³€ν™˜ κ°€λŠ₯ μ—¬λΆ€λ₯Ό μ²΄ν¬ν•˜κΈ° μœ„ν•΄ μ‘΄μž¬μ°Έμ‘°λ³€μˆ˜μ˜ ν˜•λ³€ν™˜μ€ 쑰상과 μžμ†λΌλ¦¬λ§Œ λœλ‹€.   ν˜•λ³€ν™˜ν•˜λŠ” μˆœμ„œβ‘  ν˜•λ³€ν™˜ν•΄λ„ λ˜λŠ”μ§€ λ°˜λ“œμ‹œ 확인⑑ ν˜•λ³€ν™˜    void doWork(Car c) { if (c instanceof FireEngine) { FireEngine fe = (FireEngine)c; }}FireEngine fe = new FireEngine();System.out.println(fe instanceof Object); // trueSystem.out.println(fe instanceof Car); //..
남ꢁ성 μ €μžμ˜ κ°•μ˜λ₯Ό 보고 ch7을 μ •λ¦¬ν•΄λ³΄μ•˜λ‹€!   https://youtu.be/3NuVD8eOMfc?si=WoleOoWCyHyGhwl2       μ ‘κ·Ό μ œμ–΄μžλ₯Ό μ‚¬μš©ν•˜λŠ” 이유?→ μ™ΈλΆ€λ‘œλΆ€ν„° 데이터λ₯Ό λ³΄ν˜Έν•˜κΈ° μœ„ν•΄μ„œ→ μ™ΈλΆ€μ—λŠ” λΆˆν•„μš”ν•œ, λ‚΄λΆ€μ μœΌλ‘œλ§Œ μ‚¬μš©λ˜λŠ”, 뢀뢄을 감좔기 μœ„ν•΄μ„œ  public class Time { public int hour; public int minute; public int second;}λͺ¨λ“  게 public이면 μ–΄λ””μ„œλ“  μ ‘κ·Όν•  수 μžˆλ‹€κ·ΈλŸ¬λ©΄ μ™ΈλΆ€μ—μ„œ (λ‹€λ₯Έ ν΄λž˜μŠ€λ‚˜, λ‹€λ₯Έ νŒ¨ν‚€μ§€μ˜ ν΄λž˜μŠ€μ—μ„œ)  Time t = new Time();t.hour = 25; // λ©€λ²„λ³€μˆ˜μ— 직접 μ ‘κ·ΌTime객체에 직접 값을 ν• λ‹Ήν•  수 μžˆλ‹€κ·Όλ° μ‹œκ°„μ€ 24κΉŒμ§€ 쑴재, 뢄은 60, μ΄ˆλŠ” 60 그리..
남ꢁ성 μ €μžμ˜ κ°•μ˜λ₯Ό 보고 ch7을 μ •λ¦¬ν•΄λ³΄μ•˜λ‹€! https://youtu.be/Qm08p4Vk2sw?si=Rz3KdfmQ1wLPFjaq      private 같은 클래슀 λ‚΄μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•˜λ‹€ (default) 같은 νŒ¨ν‚€μ§€ λ‚΄μ—μ„œλ§Œ 접근이 κ°€λŠ₯ν•˜λ‹€ protected 같은 νŒ¨ν‚€μ§€ λ‚΄μ—μ„œ, 그리고 λ‹€λ₯Έ νŒ¨ν‚€μ§€μ˜ μžμ† ν΄λž˜μŠ€μ—μ„œ 접근이 κ°€λŠ₯ν•˜λ‹€ public μ ‘κ·Ό μ œν•œμ΄ μ „ν˜€ μ—†λ‹€.        MyParent 클래슀λ₯Ό defaultλ₯Ό λ§Œλ“€μ—ˆκ³ , MyParent와 λ‹€λ₯Έ νŒ¨ν‚€μ§€μ—μ„œ MyChildMyParentκ°€ μ ‘κ·Όμ œμ–΄μžκ°€ (default)이기 λ•Œλ¬Έμ— λ‹€λ₯Έ νŒ¨ν‚€μ§€μ—μ„œ μ‚¬μš©μ„ ν•˜λ €κ³  ν•˜λ©΄ μ—λŸ¬κ°€ λ‚œλ‹€.이걸 ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œλŠ” public class MyParent {} 라고 μ¨μ€˜μ•Ό ν•œλ‹€.        μ—¬κΈ°μ„œ 에..
Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  λ•Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ν™˜κ²½μ„€μ • 파일인 application.propertiesλ‚˜ application.yml은 μ€‘μš”ν•œ 역할을 ν•œλ‹€.ν•˜μ§€λ§Œ 개발 ν™˜κ²½μ΄λ‚˜ 운영 ν™˜κ²½μ— 따라 λ‹€λ₯΄κ²Œ λ™μž‘ν•΄μ•Ό ν•˜λŠ” 섀정듀이 μ‘΄μž¬ν•œλ‹€.예λ₯Ό λ“€μ–΄, 파일 μ €μž₯ 경둜 같은 κ²½μš°μ—λŠ” μš΄μ˜μ²΄μ œμ— 따라 λ‹¬λΌμ§ˆ 수 μžˆλ‹€.μ΄λŸ¬ν•œ κ²½μš°μ— λ™μΌν•œ μ½”λ“œλ² μ΄μŠ€μ—μ„œ μš΄μ˜μ²΄μ œμ— 맞게 섀정을 λΆ„λ¦¬ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€!     1. application.properties νŒŒμΌμ—μ„œ κΈ°λ³Έ μ„€μ • μ •μ˜spring.datasource.url=jdbc:postgresql://localhost:5432/mydbspring.datasource.username=myuserspring.datasource.pas..
ν•΄λ²„λ‹ˆ
'π™ΉπšŠπšŸπšŠ' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘