🌻 JAVA/정리정리정리

🌻 JAVA/정리정리정리

JAVA - 객체, μΈμŠ€ν„΄μŠ€ μ΄ν•΄ν•˜κΈ°

객체, μΈμŠ€ν„΄μŠ€μ˜ κ°œλ…μ„ μ΄ν•΄ν•˜κΈ° μœ„ν•΄ μ •λ¦¬ν•˜λŠ” λ‚΄μš©μž…λ‹ˆλ‹€. 클래슀 (Class) κ°œλ… 객체λ₯Ό λ§Œλ“œλŠ” 섀계도 λ˜λŠ” ν‹€ /* 클래슀 */ public class Car { ... } 객체 (Object) κ°œλ… μ†Œν”„νŠΈμ›¨μ–΄ 세계에 κ΅¬ν˜„ν•  λŒ€μƒ ν΄λž˜μŠ€μ— μ„ μ–Έλœ λͺ¨μ–‘ κ·ΈλŒ€λ‘œ μƒμ„±λœ 싀체 섀계도(클래슀)μ—μ„œ λ§Œλ“€μ–΄λ‚Έ μ œν’ˆ(?) νŠΉμ§• λͺ¨λ“  레퍼런슀 νƒ€μž…μ„ 객체라고 λΆ€λ₯΄κΈ°λ„ ν•œλ‹€. κ°μ²΄λŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€λ₯Ό ν¬κ΄„ν•˜λŠ” 의미λ₯Ό κ°–λŠ”λ‹€. OOP κ΄€μ μ—μ„œ 클래슀 νƒ€μž…μœΌλ‘œ μ„ μ–Έλ˜μ—ˆμ„ λ•Œ 객체라고 λΆ€λ₯Έλ‹€. public class Main { public static void main(String[] args) { Car santafe, tucson;// 객체 } } μΈμŠ€ν„΄μŠ€ (Instance) κ°œλ… 섀계도λ₯Ό λ°”νƒ•μœΌλ‘œ μ†Œν”„νŠΈμ›¨μ–΄ 세계..

🌻 JAVA/정리정리정리

JAVA - Call By Value ? Call By Reference ?

λ‚΄κ°€ λ„ˆλ¬΄ μžλ°”μ— κΈ°μ΄ˆμ— λŒ€ν•΄μ„œ 곡뢀λ₯Ό μ œλŒ€λ‘œ μ•ˆν–ˆλ‹€κ³  μƒκ°ν•΄μ„œ λ‹€μ‹œ μ •λ¦¬ν•˜κ²Œ λ˜μ—ˆλ‹€.. Call By Value ? Call By Reference ? λ©”μ†Œλ“œμ—μ„œ μΈμžκ°’μ„ 받을 λ•Œ, 값에 μ˜ν•œ ν˜ΈμΆœμΈμ§€, 참쑰에 μ˜ν•œ ν˜ΈμΆœμΈμ§€ κ²°λ‘ λΆ€ν„° λ§ν•˜μžλ©΄ μžλ°”λŠ” Call By Value 방식이닀. public class Test{ static void changeString(String s){ s = new String("new"); } public static void main(String[] args){ String a = "old"; System.out.println(a); changeString(a); System.out.println(a); // old? new? 뭐가 좜λ ₯될까 } } μ‹€ν–‰κ²°κ³Ό old ol..

🌻 JAVA/정리정리정리

JAVA - STUDY 6μ£Όμ°¨ 과제 : 상속

ν•™μŠ΅ ν•  λ‚΄μš©λ“€ μžλ°” μƒμ†μ˜ νŠΉμ§• super ν‚€μ›Œλ“œ λ©”μ†Œλ“œ μ˜€λ²„λΌμ΄λ”© λ‹€μ΄λ‚˜λ―Ή λ©”μ†Œλ“œ λ””μŠ€νŒ¨μΉ˜ (Dynamic Method Dispatch) 좔상 클래슀 final ν‚€μ›Œλ“œ Object 클래슀 μžλ°” μƒμ†μ˜ νŠΉμ§• μƒμ†μ˜ 맀우 치λͺ…적인 μ˜€ν•΄ : "상속은 μ½”λ“œμ˜ μž¬ν™œμš©μ„ μœ„ν•œ λ¬Έλ²•μž…λ‹ˆλ‹€." (X) "μ—°κ΄€λœ 일련의 ν΄λž˜μŠ€λ“€μ— λŒ€ν•΄ 곡톡적인 κ·œμ•½μ„ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€." (O) μƒμ†μ˜ κ°€μž₯ 기본적인 νŠΉμ„± λΆ€λͺ¨ν΄λž˜μŠ€μ˜ ν•„λ“œ, λ©”μ†Œλ“œλ§Œ μƒμ†λ˜λ©°, μƒμ„±μžμ™€ μ΄ˆκΈ°ν™” 블둝은 μƒμ†λ˜μ§€ μ•ŠλŠ”λ‹€. λΆ€λͺ¨ 클래슀의 private, default둜 μ„€μ •λœ λ©€λ²„λŠ” μžμ‹ ν΄λž˜μŠ€μ—μ„œ 상속 λ°›μ§€λ§Œ μ ‘κ·Όν•  μˆ˜λŠ” μ—†λ‹€. Animal 클래슀 public class Animal { String name; String bark; public void..

🌻 JAVA/정리정리정리

JAVA - 평균(average) κ°’ ꡬ할 λ•Œ μ˜€λ²„ν”Œλ‘œμš° μ•ˆλ‚˜κ²Œ κ΅¬ν•˜κΈ°

int ν˜•μ˜ λ²”μœ„λŠ” μ•½ -21μ–΅λΆ€ν„° ~ 21μ–΅ κΉŒμ§€ 이닀. λ§Œμ•½μ— μ•„λž˜μ˜ 경우의 평균을 κ΅¬ν•˜λ©΄ μ–΄λ–€ 값이 λ‚˜μ˜¬κΉŒ? (쑰건, num1κ³Ό num2λŠ” 각 각 intν˜•μ˜ μ΅œλŒ€κ°’μ„ λ„˜κΈ°μ§€ μ•ŠλŠ”λ‹€.) int num1 = 2_100_000_000; int num2 = 2_100_000_000; int avg = (num1 + num2) / 2; System.out.println("평균 κ°’ : " + avg); μ‹€ν–‰ κ²°κ³Ό -47,483,648// μ“°λ ˆκΈ° 값이 λ‚˜μ˜€κ²Œ λœλ‹€.(μ˜€λ²„ν”Œλ‘œμš°) κΈ°λŒ€ ν–ˆλ˜ 값은 20μ–΅μ΄μ§€λ§Œ, 21얡을 λ„˜μ–΄κ°€λ©΄μ„œ μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•΄μ„œ -147.. 값이 λ‚˜μ˜€κ²Œ λ˜λŠ” 것이닀. κ·Έλ ‡λ‹€λ©΄, 이λ₯Ό 방지할 평균 κ΅¬ν•˜λŠ” 방법은 ? int num1 = 2_100_000_000; int num2 = 2_100_0..

🌻 JAVA/정리정리정리

JAVA - STUDY 5주차 과제 : 클래슀

ν•™μŠ΅ν•  것 클래슀 μ •μ˜ν•˜λŠ” 방법 객체 λ§Œλ“œλŠ” 방법 (new ν‚€μ›Œλ“œ μ΄ν•΄ν•˜κΈ°) λ©”μ†Œλ“œ μ •μ˜ν•˜λŠ” 방법 μƒμ„±μž μ •μ˜ν•˜λŠ” 방법 this ν‚€μ›Œλ“œ μ΄ν•΄ν•˜κΈ° 클래슀의 κ°œλ… λ¨Όμ € 클래슀의 κ°œλ…μ— λŒ€ν•΄μ„œ 짚고 λ„˜μ–΄κ°€μ•Ό ν•  것 κ°™μ•„μ„œ, 곡뢀해 λ³΄μ•˜λ‹€. ν΄λž˜μŠ€λž€ 객체λ₯Ό μ •μ˜ν•˜λŠ” ν‹€ λ˜λŠ” 섀계도와 같은 의미둜 μ‚¬μš©λ©λ‹ˆλ‹€. μžλ°”μ—μ„œλŠ” μ΄λŸ¬ν•œ 섀계도인 클래슀λ₯Ό 가지고, μ—¬λŸ¬ 객체λ₯Ό μƒμ„±ν•˜μ—¬ μ‚¬μš©ν•˜κ²Œ λ©λ‹ˆλ‹€. ν΄λž˜μŠ€λŠ” 객체의 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν•„λ“œμ™€ 객체의 행동을 λ‚˜νƒ€λ‚΄λŠ” λ©”μ†Œλ“œλ‘œ ꡬ성이 λ©λ‹ˆλ‹€. 객체(Object) 사전적 의미 : 물건 λ˜λŠ” λŒ€μƒ 객체의 μƒνƒœ(state)와 행동(behavior)을 κ΅¬μ²΄ν™”ν•˜λŠ” ν˜•νƒœμ˜ ν”„λ‘œκ·Έλž˜λ°μ„ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄λΌκ³  ν•œλ‹€. 예λ₯Ό λ“€μ–΄μ„œ, "λ‚˜λŠ” 과일μž₯μˆ˜μ—κ²Œ 두 개의 사과λ₯Ό κ΅¬λ§€ν–ˆλ‹€"λΌλŠ” λ¬Έμž₯을..

🌻 JAVA/정리정리정리

JAVA - 맨날 ν—·κ°ˆλ¦¬λŠ” 객체의 λ©”λͺ¨λ¦¬ 참쑰에 λŒ€ν•œ 이해

맀번 객체에 λŒ€ν•΄μ„œ 이해λ₯Ό ν–ˆλ‹€κ³  μƒκ°ν–ˆμ§€λ§Œ, 막상 μ‚¬μš©μ„ 해보면 이게 μ™œ μ΄λ ‡κ²Œ 값이 μ°νžˆμ§€? λΌλŠ” κ²½ν—˜μ΄ λ§Žμ•˜λ‹€.. λ‹€μ‹œ ν•œλ²ˆ μ œλŒ€λ‘œ 정리해보도둝 ν•˜κ² μŠ΄λ‹€.. λ‚΄κ°€ μ΄ν•΄ν•˜κΈ° μ–΄λ €μš΄ 점 // 1번 κ³Όμ • CopyTest c1 = new CopyTest(); People test = new People(10, "a"); c1.man = test; // 2번 κ³Όμ • People peo2 = new People(20, "b"); test = peo2; // μ›λž˜λΌλ©΄ GC에 μ˜ν•΄ new People(100,"100")이 정리 λ˜λŠ”λ°, c1.man이 작고 μžˆμ–΄μ„œ 아직 λŒ€μƒμ΄ μ•„λ‹ˆκ²Œ λœλ‹€. // 좜λ ₯ System.out.println(c1.man.age); // 10 (κΈ°μ‘΄ test의 μ£Όμ†Œκ°’μ„ μ°Έμ‘°ν•˜κ³  μžˆλ‹€.) Sy..

iseunghan
'🌻 JAVA/정리정리정리' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘ (3 Page)