πŸ“˜ 221020 JAVA κ°œλ°œμΌμ§€ DAY+8 : 상속, μ˜€λ²„λΌμ΄λ”©

rossiebiΒ·2022λ…„ 10μ›” 21일
0

πŸ’» JAVA κ°œλ°œμΌμ§€Β 

λͺ©λ‘ 보기
11/38
post-thumbnail

8일차 κ°œλ°œμΌμ§€ μ‹œμž‘ -!

πŸ”” [ 상속 ]

  • 기쑴의 클래슀둜 μƒˆλ‘œμš΄ 클래슀λ₯Ό μž‘μ„±ν•˜λŠ” 것(μ½”λ“œμ˜ μž¬μ‚¬μš©)
  • 두 클래슀λ₯Ό λΆ€λͺ¨μ™€ μžμ‹μœΌλ‘œ 관계λ₯Ό λ§Ίμ–΄μ£ΌλŠ” 것

-μžμ†μ€ μ‘°μƒμ˜ λͺ¨λ“  멀버λ₯Ό μƒμ†λ°›λŠ”λ‹€ (μƒμ„±μž, μ΄ˆκΈ°ν™”λΈ”λŸ­ μ œμ™Έ)
(μžμ†μΈ μ΄μœ λŠ” λΆ€λͺ¨μ˜ λΆ€λͺ¨λ„ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έ)

  • μžμ†μ˜ 변경은 쑰상에 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ”λ‹€. (μžμ‹ ν΄λž˜μŠ€μ— 무언가λ₯Ό 좔가해도 μ‘°μƒμ—λŠ” κ·ΈλŒ€λ‘œ)

  • μžλ°”λŠ” λ‹¨μΌμƒμ†λ§Œμ„ ν—ˆμš©ν•œλ‹€.

class μžμ‹ν΄λž˜μŠ€ extends λΆ€λͺ¨ν΄λž˜μŠ€ {
	//
  }
  
  class Parent {}
class Child extends Parent{
}

πŸ“Œ 예제

package review_thu;

class MyPoint {
	int x;
	int y;
}
class Circle extends MyPoint { //상속
	int r;
}
public class practice1 {

	public static void main(String[] args) {
		Circle c=new Circle();
		c.x=1;
		c.y=2;
		c.r = 3;
		System.out.println("c.x:"+c.x);
		System.out.println("c.y:"+c.y);
		System.out.println("c.r:"+c.r);

	}

}

πŸ”” [ μ˜€λ²„λΌμ΄λ”© ]

  • 상속받은 μ‘°μƒμ˜ λ©”μ„œλ“œλ₯Ό μžμ‹ μ— 맞게 λ³€κ²½ν•˜λŠ” 것
  • μ„ μ–ΈλΆ€κ°€ μ‘°μƒν΄λž˜μŠ€μ˜ λ©”μ„œλ“œμ™€ μΌμΉ˜ν•΄μ•Όν•¨
  • μ ‘κ·Ό μ œμ–΄μžλ₯Ό μ‘°μƒν΄λž˜μŠ€μ˜ λ©”μ„œλ“œλ³΄λ‹€ 쒁은 λ²”μœ„λ‘œ λ³€κ²½ν•  수 μ—†λ‹€
  • μ˜ˆμ™ΈλŠ” μ‘°μƒν΄λž˜μŠ€μ˜ λ©”μ„œλ“œλ³΄λ‹€ 많이 μ„ μ–Έν•  수 μ—†λ‹€

βœ” μ˜€λ²„λ‘œλ”©κ³Ό μ˜€λ²„λΌμ΄λ”©μ€ μ „ν˜€ 관계가 μ—†λ‹€!!

πŸ”” [ μ°Έμ‘°λ³€μˆ˜ Super ]

  • 객체 μžμ‹ μ„ κ°€λ¦¬ν‚€λŠ” μ°Έμ‘°λ³€μˆ˜. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ(μƒμ„±μž) λ‚΄μ—μ„œλ§Œ 쑴재
  • μ‘°μƒμ˜ 멀버λ₯Ό μžμ‹ μ˜ 멀버와 ꡬ별할 λ•Œ μ‚¬μš©

πŸ”” [ Super() ]

  • μ‘°μƒμ˜ μƒμ„±μžλ₯Ό ν˜ΈμΆœν•  λ•Œ μ‚¬μš©
  • μ‘°μƒμ˜ λ©€λ²„λŠ” μ‘°μƒμ˜ μƒμ„±μžλ₯Ό ν˜ΈμΆœν•΄μ„œ μ΄ˆκΈ°ν™”
  • μžμ†μ˜ μƒμ„±μžλŠ” μžμ‹ μ΄ μ„ μ–Έν•œ κ²ƒλ§Œ μ΄ˆκΈ°ν™” ν•  것!
  • μƒμ„±μžμ˜ 첫 쀄에 λ°˜λ“œμ‹œ μƒμ„±μžλ₯Ό ν˜ΈμΆœν•΄μ•Όν•œλ‹€!
  • 그렇지 μ•ŠμœΌλ©΄ μ»΄νŒŒμΌλŸ¬κ°€ μƒμ„±μžμ˜ 첫 쀄에 super();μ‚½μž…

πŸ”” [ μ œμ–΄μž ]

  • ν΄λž˜μŠ€μ™€ 클래슀의 멀버(멀버 λ³€μˆ˜, λ©”μ„œλ“œ)에 뢀가적인 의미 λΆ€μ—¬
  • μ ‘κ·Όμ œμ–΄μž : public, protected, default, private

πŸ”” [ μ ‘κ·Όμ œμ–΄μž ]

private : 같은 클래슀 λ‚΄μ—μ„œλ§Œ 접근이 κ°€λŠ₯함
default : 같은 νŒ¨ν‚€μ§€ λ‚΄μ—μ„œλ§Œ 접근이 κ°€λŠ₯함
protected : 같은 νŒ¨ν‚€μ§€ λ‚΄μ—μ„œ, 그리고 λ‹€λ₯Έ νŒ¨ν‚€μ§€μ˜ μžμ† ν΄λž˜μŠ€μ—μ„œ μ ‘κ·Ό κ°€λŠ₯
public : μ ‘κ·Ό μ œν•œ μ—†μŒ

πŸ”” [ μ°Έμ‘°λ³€μˆ˜μ˜ ν˜•λ³€ν™˜ ]

  • μ‚¬μš©ν•  수 μžˆλŠ” λ©€λ²„μ˜ 갯수λ₯Ό μ‘°μ ˆν•˜λŠ” 것
  • 쑰상 μžμ† κ΄€κ³„μ˜ μ°Έμ‘°λ³€μˆ˜λŠ” μ„œλ‘œ ν˜•λ³€ν™˜ κ°€λŠ₯
profile
λΉ„μ „κ³΅μž 개발자λ₯Ό κΏˆκΎΈλŠ” λ‘œμ§€

0개의 λŒ“κΈ€