7일차는 하루종일 개미수열만.....그래서 남길게 없었다ㅠㅠㅠ
나를 절망으로 빠져들게한 개미수열로..........ㅋㅋㅋㅋㅋ오랜만에 마주하는 깊은 절망에 빠진 내 자신을 만났다. 그래서 알고리즘에 대해 공부해야 겠다고 다시 한번 다짐....교육이 끝날때즘에 개미수열을 극복한다!!!!!
내용을 물려 받는다.
사용 양식
접근 권한 class 클래스명 extends 부모 클래스명{<--상속
내용
}
super : 부모클래스
상속 받은 곳에서만 사용 가능
public class Test14P {
String s = "부모가 가지고 있는 것";
public void p() {
System.out.println("부모 메소드");
}
}
public class Test14C extends Test14P {
//상속은 자식기준으로 생각한다.
String s = "자식의 반란";
public String getPs() {
// super : 부모 클래스, 상속 받은 곳에서만 사용가능
return super.s;
}
public void p() { //오버라이딩
System.out.println("자식이 덮어쓴 메소드");
}
}```
개념: 재정의(update)
공간 : 상속 관계
규칙 : 반환타입, 메소드명, 인자개수, 인자 타입이 동일
개념: 신규(New)
공간 : 같은 클래스 내부
규칙 : 이름만 동일, 인자타입, 인자개수가 달라야 함, 반환타입도 바뀔 수 있음.(선택적 부분)
선언부는 형태, 담는 그릇 으로 생각
뒤에 할당은 갖고있는 기능 ,음식이라고 생각하자
ex) a그릇에 b음식의 양을 다 담을 수 없다.
부모의 요구는 자식이 다 채울 수 있고
자식의 요구는 부모가 다 채울 수없다.
public class Test14 {
public static void main(String[] args) {
Test14C tc = new Test14C();
System.out.println(tc.s);
System.out.println(tc.getPs());
tc.p();
//부모, 부모
Test14P tp1 = new Test14P();
// 자식 , 자식
Test14C tc1 = new Test14C();
// 부모, 자식
Test14P tp2 = new Test14C();
// 자식, 부모
// Test14C tc2 = new Test14P(); 오류 발생
tp2.p();
// 객체 --> 객체 형변환 시 캐스팅. 일반적으로 상속관계
System.out.println(((Test14C) tp2).getPs());
//다운캐스팅. 부모의 형태를 자식의 형태로 변환.
}
}
Java의 (빨간색강조)최상위 클래스. 모든 클래스는 오브젝트의 내용을
상속 받고있다.
- 틀,형태 => 내용을 가질 수 없다.
사용이유 : 틀과 형태를 유지하기 위해서, 개발 가이드 제시
형태 : 접근권한 interface 인터페이스명{
내용=> 내용에 존재하는 메소드들은 내용을 가질 수 없다.
}
사용하려면 참조 1:n 관계가 가능. 형태를 가져온다.
형태: 접근권한 class 클래스명 implements 인터페이스명,....{
내용 => 참조된 내용의 메소드들은 무조건 재정의 해야한다.
}
implements가 나오면 무조건 참조!!!
인터페이스파일 이름 지을 때 I(대문자)+클래스이름
public class Test15 implements ITest15 {
// @ - Annotation(어노테이션) : 지시자
@Override
public void test() {
System.out.println("재정의 했다!");
}
}
// 인터페이스 파일
public interface ITest15 {
public void test();
}
8일차 후기
오늘 배운 개념적인 부분은 핵심적인 부분 이라서 이해할 부분도 많아서 수업내내 머리가 바쁘게 돌아갔고, 후반부에 문제 3문제가 나왔는데, 풀 때마다 아직 내가 알고리즘을 사고하는 방식이 부족함을 느끼고, 선생님께서 차근차근 하나 씩 풀면 된다고 하시지만 차근차근 무엇을 풀어야할지 생각이 안난다. 굉장히 답답하다 하지만 포기는 없다. 꾸준히 하다보면 나아질거라는 희망 갖고 계속 간다.