Interface

    📜 인터페이스 너.. 이 부분에서 유용하지

    📌 인터페이스의 유용성을 다시 생각해보기(객체 호출 규칙) ✔️ 만약 ArrayList 사용법과 LinkedList 사용법이 다르다면? ArrayList vs LinkedList append() add() delete() remove() update() set() 메서드 이름을 개발자에 따라 다르게 지으면 어떤 문제점이 있을까요? ✔️ 클래스의 사용법이 달라져서 프로그래밍의 일관성이 없게 됩니다. 이를 해결하기 위해 나온 인터페이스!! ✔️ 인터페이스를 사용한다면 개발자가 클래스를 정의할 때, 인터페이스에서 정한 규칙에 따라 메서드를 만들어야합니다. List (규칙 즉 객체 사용법을 정의) add() remove() set() List / \ ArrayList LinkedList ArrayList와 Li..

    🖍️ 자바 : About Interface Ⅰ

    📌 인터페이스와 상속 중복 메서드가 오버로딩 규칙을 위반할 경우 다중 구현 불가 파라미터 타입,개수,순서가 다른 경우 같은 이름의 메서드를 중복 정의 할 수 있다. 파라미터명은 상관없다. 리턴타입도 상관없다. 📌 인터페이스와 추상클래스의 콜라보 Ⅰ interface ProtocolA { void rule1(); void rule2(); void rule3(); void rule4(); } // 추상클래스에서 인터페이스의 규칙을 모두 미리 구현해 둔다. // 물론 최소 상태로 구현한다. abstract class AbstractProtocolA implements ProtocolA { @Override public void rule1() {} @Override public void rule2() {} @O..

    🌱 from 추상클래스 to 인터페이스

    from 추상클래스 to 인터페이스 1. 추상클래스 사용 전 두 개의 정렬 객체가 서로 다른 타입이기 때문에 정렬을 수행하고 출력할 메서드를 따로 따로 만들어야 한다. 클래스의 사용법도 달라서 불편하다. ✔️ BubbleSort 객체는 run()을 호출해야 하고, ✔️ QuickSort 객체는 start()를 호출해야 한다. display(s1, values); display(s2, values2); 2. 추상클래스 사용 전 : 상속 사용하기 // 정렬을 수행하는 클래스를 한 타입으로 묶기 위해 // 다음 클래스를 정의하였다. public class Sorter { public void sort(int[] values) {}; } ✔️ 정렬 객체를 사용하는 방법을 통일하면 사용하기가 쉬워진다. ✔️ 두 ..