상속 5

[뉴렉처] IS A 상속

부품이 없을때는 어쩔수 없이 조립을 해야함 - has a 상속 (캡슐화해서 jar파일 만들어서 가져다가 쓴것) 일부의 부품은 어느정도 비슷한 틀을 가져와서 커스텀하는것 - is a 상속 변경해야할 부분이 적을때 비슷한 틀을 가져와서 만드는 것이 생산성이 훨씬 높다 생산성을 높이기위한 틀을 Framework라고 한다 단점으로는 기성복 같이 유니크하지는 않다 예를들어서 설명해 주셨는데 요즘 김치를 만들때 90%는 미리준비된 야채같은 것은 구매하고 10%의 소스의 차별화로 김치를 만드는 것과 같음 기성품에 내가 원하는 부분을 추가 커스텀함 is a 상속 기존에서 컴퓨터 과목 추가 (com) 하려고함 코드 재사용, 만들어 두었던 Exam을 jar파일로 압축해서 import함(코드재사용 참고) import Exa..

[뉴렉처] Has A 상속

Has A 캡슐이 다른 캡슐의 객체를 가지고 있는 상태 캡슐이 다른 캡슐을 부품처럼 가지게 되는 상태 Composition Has A A라는 객체가 만들어질때 B라는 객체도 함께 만들어짐 Has A 방식 Composition Has A Aggregation Has A ExamConsole 에겐 Exam은 부품같은 존재 잠시쓰고 버리는게 아니라 지속적임 일체형 Has A 관계 누군가가 ExamConsole을 만들면 ExamList(부품)도 같이 만들어지는것 public class ExamConsole { private ExamList list; public ExamConsole() { list = new ExamList(); } Aggregation Has A 생성자에서 바로 Exam을 생성하지 않고 나중..

Java_상속 - this & super

https://www.youtube.com/watch?v=3S4Tbz5H-H0 class Cal{ public int sum(int v1, int v2){ return v1+v2; } // Overloading public int sum(int v1, int v2, int v3){ // this 자기자신을 가리킴 Cal의 sum 메소드 return this.sum(v1,v2)+v3; } } class Cal3 extends Cal{ public int minus(int v1, int v2){ return v1-v2; } // Overriding public int sum(int v1, int v2){ // super는 부모의 변수나 메소드 System.out.println("Cal3!!"); return..

Java_상속 - Overriding vs Overloading

https://www.youtube.com/watch?v=RvZ5yJvaUAc&t=146s class Cal { public int sum(int v1, int v2) { return v1+v2; } //Overloading : 기존 내용에서 더 추가 하여 수정함 public int sum(int v1, int v2, int v3) { // 자식 클래스에도 옮길수 있음 return v1 + v2 + v3; } } class Cal3 extends Cal { public int minus(int v1, int v2) { // 상속받고 메소드 추가 return v1-v2; } //Overriding public int sum(int v1, int v2) { // 부모 클래스 메소드 수정 System.out...