πŸ¦• 곡룑이 되자!

JavaReStudy...5 λ³Έλ¬Έ

Development/Java

JavaReStudy...5

Kirok Kim 2022. 1. 4. 18:24
  • oop
    • μž₯점
      • λ§Žμ€ μžμ‹νƒ€μž…κ°μ²΄λ₯Ό λΆ€λͺ¨νƒ€μž… λ°°μ—΄ ν•œκ°€μ§€λ‘œ μ €μž₯ κ°€λŠ₯.
    • 단점
      • μ§€μΉ­ν•˜λŠ” λ³€μˆ˜κ°€ λΆ€λͺ¨νƒ€μž…μ΄κΈ°λ•Œλ¬Έμ— μ ‘κ·Όκ°€λŠ₯ν•œ 속성은 λΆ€λͺ¨νƒ€μž… μ†μ„±λ“€λ§Œ κ°€λŠ₯

1. 은닉성(μΊ‘μŠν™”) - Endcapsulation

  • 데이터 은닉 μ€‘μš”ν•œ λ³€μˆ˜,λ©”μ„œλ“œ 감좔기.데이터 μ•ˆμ •μ„±
  • private μ μš©ν•˜κΈ° -> Getter / Setter μž‘μ„±
    • private ->μ™ΈλΆ€ν΄λž˜μŠ€μ—μ„œ λ‚΄λΆ€λ³€μˆ˜μ— 직접 μˆ˜μ • λΆˆκ°€λŠ₯->잘λͺ»λœ 값을 ν”Όν•˜κΈ°

2. 상속성 - Inheritance

  • 기쑴의 μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•˜κΈ°->λΉ λ₯Έ 개발
  • 상속기λŠ₯.λ‹€λ₯Έν΄λž˜μŠ€μ˜ λ³€μˆ˜,ν•¨μˆ˜λ₯Ό λ‚΄κ²ƒμ²˜λŸΌ μ •μ˜

3. λ‹€ν˜•μ„± - Polymorphism

  • λ³€μˆ˜ 1κ°œμ— μ—¬λŸ¬κ°€μ§€ νƒ€μž…μ˜ 객체λ₯Ό μ €μž₯ν•˜λŠ” 것.

λ©”μ„œλ“œ μž¬μ •μ˜(μ˜€λ²„λΌμ΄λ”©)

  • λΆ€λͺ¨μ˜ λ©”μ„œλ“œμ™€ λ™μΌν•œ μ‹œκ·Έλ‹ˆμ²˜(λ¦¬ν„΄νƒ€μž…, λ©”μ„œλ“œ 이름,맀개 λ³€μˆ˜ λͺ©λ‘)
  • μ ‘κ·Ό μ œν•œ 더 κ°•ν•˜κ²Œ x
  • μƒˆλ‘œμš΄ μ˜ˆμ™Έλ₯Ό throws x
  • // λΆ€λͺ¨μƒμ„±μžλŠ” μžμ‹ μƒμ„±μžμ˜ 맨 첫 μ€„μ—μ„œ 호좜됨
    //μžμ‹μ˜ μƒμ„±μžκ°€ λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έλ˜μ§€ μ•Šμ•˜λ‹€λ©΄ μ»΄νŒŒμΌλŸ¬λŠ”
    public Child(){
    	super();---> μžλ™μƒμ„± λΆ€λͺ¨μ˜ κΈ°λ³Έ μƒμ„±μž 호좜
    }
    λ§Œμ•½ λΆ€λͺ¨ ν΄λž˜μŠ€μ— κΈ°λ³Έ μƒμ„±μžκ°€ μ—†κ³  맀개 λ³€μˆ˜κ°€ μžˆλŠ” μƒμ„±μžλ§Œ μžˆλ‹€λ©΄
    super(λ§€κ°œκ°’) μ—†μœΌλ©΄ μ»΄νŒŒμΌμ—λŸ¬
    
    class Parent(){
    	public Patent(){
    		this("λŒ€ν•œλ―Όκ΅­");
    		System.out.println("p()call");
    	}
    	public Parent(String nation){
    		this.nation=nation;
    		System.out.println("p(string)call");
    	}
    }
    
    class Child extends Parent{
    	private String name;
    
    	public Child(){
    		this("홍길동");
    		System.out.println("c()call");
    	}
    	public Child(String name){
    		this.name=name;
    		System.out.println("c(stringf)call");
    	}
    
    	class childEx{
    		main{
    		Child ch = new Child();
    		}
    	}
    
    >>>
    p(string) call
    p()call
    c(stringf)call
    c()call
    
λ°˜μ‘ν˜•

'Development > Java' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

JavaReStudy...7  (0) 2022.01.05
JavaReStudy...6  (0) 2022.01.04
JavaReStudy...4  (0) 2022.01.04
JavaReStudy...3  (0) 2022.01.03
JavaReStudy...2  (0) 2022.01.02
Comments