목록Some Memos/Java (57)
Wanna be Brilliant Full-Stack Developer
인터페이스에대해 알아보자! 인터페이스의 정의를 보면 ? 인터는 교차로라는 뜻을 가지고 있다. 페이스는 직면하다 및 얼굴이라는 뜻을 가지고 있다. 인터페이스를 어떤 교차로 얼굴이라고 생각을 하면 이해가 안된다. 자동차가 이동을 가다가 갈림길을 만나서 어느 방향으로든 갈 수가 있는데!? 고속도로에서 그교차로를 인터체인지라고 한다. 밑이나 가운데나 위에나 다 갈 수가 있다. 인터체인지 입장에서 보면 인터체인지를 만든 사람은 우리한테 세개의 길만 줬다. 1시 방향, 3시 방향, 5시 방향만 줬다. 다른방향은 주지 않고 3가지 방향만 줬다. 내가 12시 방향을 가고 싶어도 갈 수가 없다. 왜냐하면 길이 없으니까 인터체인지는 우리에게 3가지 방향만 주기 떄문에 다른방향은 갈수가 없다는 어떤 행위에대한 강제성을 줬다..
추상클래스란? 추상적인 클래스라는것이다. 특징이 하나있다. new 할 수 없다, 메모리에 띄울수 없다. 예를 들어 의자와 침대가 있는데 의자와 침대는 이세상에 존재할 수 있고 이 두개를 묶어서 가구가 있는데 가구는 이세상에 존재할 수 없다. 의자와 침대는 New해서 세상에 던져질 수 있는데 가구는 New를 못한다. 왜냐하면 가구는 이세상에 존재하지 않기 때문이다. 이렇게 만들면 부모가 가지고 있는 메서드를 자식이 있는데 또 만들었으면 오버라이드라고 했다. Animal의 speak()가 무효화가 된다. 강아지와 고양이가 있는데 Animal로 추상화를 했다. 그리고나서 Animal이 speak를 가지고 있고 고양이도 강아지도 speak()를 가지고 있으면 Animal이 가지고 있는 speak()가 무효화가 ..
오버라이딩에 대해서 배워보자! 오버라이딩을 통해서 오버로딩의 한계를 극복해보자! package ch05; class 질럿 { String name = "질럿"; } class 드라군 { String name = "드라군"; } class 다크템플러 { String name = "다크템플러"; } public class OOPEx06 { public static void main(String[] args) { 질럿 u1 = new 질럿(); 드라군 u2 = new 드라군(); 다크템플러 u3 = new 다크템플러(); } } 디폴트 생성자다. 안보여도 있는 상황이다. package ch05; class 질럿 { String name = "질럿"; } class 드라군 { String name = "드라군"..
오버로딩이라는것이 무엇인가? 뜻만 보면 OverLoading이라고 하여 오버에서 로딩한다고 하니까 과적재라는 뜻이다. 전에 클래스는 상태와 행위를 가진다고 하였다. 이 클래스가 행위를 가지고 있다. 달리기라는 행위를 가지고 있다 그것은 메서드이다. 그러면 내가 동일한 이름에 행위를 만드는것이 불가능하다. 근데 오버로딩이라는 기법은 무엇인가하면 어떤 클래스가 행위를 가지고 있을때 이 행위가 이름이 똑같더라도 매개변수 개수가 다르거나 매개변수의 유무나, 매개변수의 타입이 다르거나 이렇게 다르면 개수가 더 늘어날수도 있다. 이렇게 되면 이 4가지 함수 첫번쨰 두번쨰 세번쨰 네번쨰 메서드의 이름이 다 똑같더라도 우리가 과적재를 하게 되면 과적재하는게 매개변수 개수가 다르고, 타입이 다르고 이렇게되면 다른 함수로..