PlayData 백엔드 부트캠프 정리

PlayData 백엔드 부트캠프 Start 8일차

효건 2024. 8. 19. 21:43

1. 다형성

  • 다형성이란 객체가 여러형태를 가진다라는 뜻이다.
  • 상속을 전제조건으로 함.
  • 자식 클래스 -> 부모클래스의 타입 허용 다시말해 부모타입에 모든 자식객체 대입가능.
  • 다형성을 사용하는 궁극적인 이유는 규격화이다. -> 동일한 동작을 최대한 한번만 사용하는것....
  • 타입캐스팅 
    • 오버라이드 하여 매서드까지는 정상적으로 호출되었지만 자식클래스가 어떻게 발전했는지 알수없음. 
    • 사유로는 자식클래스에게 전달만을 한다. 따라서 부모가 자식의 변수를 사용할수없다. 이말이다.
    • instanceiof 키워드는 조건문 사용간 타입으로 나눌수 있도록 유도하는 것을 말한다. -> 다형성에서 중요포인트가 될것으로 보인다.  

2. 추상(abstract)키워드

  • 간단히 말해서 부몽의 매서드나 클래스가 딱히 객체를 생성하지 못하고자식 클래스가 생성하는 것을 말한다. 
  • 단, 상속이 베이스로 이루어지는 만큼 상속이 되는지가 중요한 포인트이다.
  • 추상키워드를 쓰는 이유는 다형성 구현목적이 뚜렸해지며 코드 디자인 패턴 적용이 가능해진다. 
  • 또, 코드 재사용성이 높아져 같은 코드를 두번이상 사용하지 않아도 되는 결과를 불러온다.   

3. 인터페이스

  • 인터페이스는DB의 언어가 다 다르고 메서드가 다 달라서 하나로 통일하기 위해 고안된 방법이다. 
  • 따라서 인터페이스는 활용도가 높으니 잘 이해하도록 노력하자 
  • 인터페이스 문법은 public inteface 객체명으로 사용하낟. 
  • 여기서 실체가 없는 추상메서드만이 사용가능하다 .
  • 또 클래스를 열어 implements 키워드를 이용하여 연결하고 이에 오버라이드한 후 매서드 재정의를 이용해서 사용한다,  솔직히 왜쓰는지는 모르겠지만 분명 이후에 많이 쓸것같은 느낌이 들긴하다.
  • 인터페이스는 여러가지를 함께 implements할수있다. 다시말해 이중부모가 가능하다. 그 이유는 내용은 없는 껍데기이기 때문이다.

 

4. 프로그래머스 코딩연습

1) 정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.

 

// 나의 답안
class Solution {
    public int solution(int num, int n) {
        if(num % n == 0){
            return 1;
        }else{
            return 0;
        }
        
    }
}


//다른사람 답안
class Solution {
    public int solution(int num, int n) {
        int answer = num % n == 0 ? 1 : 0;
        return answer;
    }
}

여기서 중요한점 =는 초기화 및 할당일떄 사용하는 것임을 명심또 명심하자. 이것때문에 한참걸렸다..ㅠㅠㅠㅠ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

정리하자면 매우헷갈리는내용으로 진행했다. 그러나 머리에 조금만 남아있어 아쉽다. 책을 이용해 더 공부를 해봐야 할것같다. 

솔직히 내용이 빈약한 이유는 50퍼센트도 이해가 안가고 왜 쓰는지 공감대가 형성되지 않는다. ㅠㅠ