java3 [Java] Default Methods(디폴트 메소드) Default Method 란? 인터페이스는 기능에 대한 선언만 하기 때문에, 실제 코드를 구현한 로직은 포함될 수 없다. 하지만 자바 8에서 이러한 규칙을 깨는 기능이 나왔다. 그것이 Default Method(디폴트 메소드)이다. 메소드 선언 시 default를 명시하게되면 인터페이스 내부에서도 로직이 포함된 메소드를 선언할 수 있다. ** 접근 제어자에서 사용하는 default와 키워드가 같다. 하지만 접근 제어자에선 아무 것도 명시하지 않아도 'default'라고하고, 인터페이스의 default method는 'default'라는 키워드를 명시해야 한다. 1 2 3 4 5 interface TestInterface { default void print() { System.out.println("H.. BackEnd/Java 2022. 10. 20. [JAVA] LinkedList의 개념 및 사용법 LinkedList란 ? 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조 풀어쓰자면 다음과 같다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. 중간에 데이터를 추가하거나 삭제해도 인덱스가 당겨지거나 밀리는 현상이 없다. 따라서 ArrayList에 비해 데이터 추가/삭제가 용이하지만 인덱스가 없기 때문에 탐색 속도가 느리다. 따라서 탐색 또는 정렬을 자주 하는 경우엔 배열을 사용하고 데이터의 추가/삭제가 많은 경우 연결리스트를 사용하는 것이 좋다. LinkedList 사용법 1. LinkedList 선언 1 2 3 4 5 LinkedList list = new LinkedList();//타입 미설정. Object로 선언.. BackEnd/Java 2022. 9. 7. [JAVA] for문 리팩토링하기(List) JAVA에서 반복문을 사용할 때 for문이나 for-each문을 사용한다. for문과 for-each문 중 어떤 것을 사용하는 것이 더 빠를까? 실제로 실험해본 결과 ArrayList, Array => for문 win LinkedList => for-each문 win 이라는 결과가 나왔다. 따라서 ArryaList/Array를 사용할 경우 for문을, LinkedList를 사용할 경우 for-each문을 사용하는 것이 속도 개선에 좋은 영향을 준다! 그런데 for-each문의 단점은 인덱스를 사용할 수 없다는 것이다. 인덱스가 꼭 필요하다면? 1 2 3 4 5 6 7 static void main(List list){ int i = 0; for(T s : list){ //개발자가 작성한 코드 i++; }.. BackEnd/Java 2022. 9. 4. 이전 1 다음