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퍼센트도 이해가 안가고 왜 쓰는지 공감대가 형성되지 않는다. ㅠㅠ
'PlayData 백엔드 부트캠프 정리' 카테고리의 다른 글
PlayData 백엔드 부트캠프 Start 10일차 (0) | 2024.08.21 |
---|---|
PlayData 백엔드 부트캠프 Start 9일차 (0) | 2024.08.20 |
PlayData 백엔드 부트캠프 Start 7일차 (0) | 2024.08.17 |
PlayData 백엔드 부트캠프 Start 6일차 (0) | 2024.08.15 |
PlayData 백엔드 부트캠프 Start 5일차 (0) | 2024.08.14 |