1. Node 클래스 정의 2. BFS(Node node) 구현 3. DFS(Node node) 구현 1. Node 클래스 정의 값은 int로 한다. 이진 트리를 나타내는 Node 클래스다. int value, Node left, Node right를 가진다. public class Node { private int value; private Node left; private Node right; public Node(int value, Node left, Node right){ this.value = value; this.left = left; this.right = right; } public int getValue() { return value; } public Node getLeft() { ret..
Programming/JAVA
1. 자바 상속의 특징 2. super 키워드 3. 메소드 오버라이딩 4. 다이나믹 메소드 디스패치 5. 추상 클래스 6. final 키워드 7. Object 클래스 1. 자바 상속의 특징 상속 부모 클래스와 자식 클래스가 존재하고, 자식 클래스는 부모 클래스의 멤버를 상속받아 사용할 수 있다. 부모 클래스의 private 접근 제한을 갖는 필드와 메소드는 자식이 물려 받지 못한다. 부모와 자식 클래스가 서로 다른 패키지에 있다면 default 접근 제한을 갖는 것들은 물려 받지 못한다. default 접근 제한 : 같은 패키지에 있는 클래스만 접근 가능한 속성이다. 상속받고자 하는 자식 클래스명 옆에 extends 키워드와 함꼐 상속할 부모 클래스명을 적는다. 자바는 다중 상속을 허용하지 않으므로 부모..
1. 클래스 정의하는 방법 2. 객체 만드는 방법 (new 키워드 이해하기) 3. 메소드 정의하는 방법 4. 생성자 정의하는 방법 5. this 키워드 이해하기 1. 클래스 정의하는 방법 클래스 어떠한 객체의 변수, 메소드의 집합이다. 생성자 클래스로부터 객체를 생성할 때 초기 데이터를 전달받는 역할이다. 필수로 작성하지 않아도 자동으로 default 생성자가 정의된다. 반환 값이 없고, 클래스의 이름과 정확히 같아야 한다. 매개 변수의 개수를 다르게 해 여러 개 정의할 수 있다. public으로 정의해야 한다. getter와 setter getter : 내부의 멤버 변수에 저장된 값을 외부로 리턴한다. setter : 외부로 데이터를 전달 받아 멤버 변수에 저장한다. 멤버 변수는 private으로 선언..
1. LinkedList 구현 (ListNode, add(), remove(), contains()) 2. Stack 구현 (int 배열, push(), pop()) 3. Stack 구현 (ListNode, push(), pop()) 4. Queue구현 (int배열, ListNode 이용) 2주차 실습의 1~3 내용은 이전 블로그에 존재한다. https://abbiddo.tistory.com/95 Te JAVA (2) - 자료구조 구현 (LinkedList) 1. LinkedList 구현 (ListNode, add(), remove(), contains()) 2. Stack 구현 (int 배열, push(), pop()) 3. Stack 구현 (ListNode, push(), pop()) 4. Queue..
1. LinkedList 구현 (ListNode, add(), remove(), contains()) 2. Stack 구현 (int 배열, push(), pop()) 3. Stack 구현 (ListNode, push(), pop()) 4. Queue구현 (int배열, ListNode 이용) 2주차 실습의 1 내용은 이전 블로그에 존재한다. https://abbiddo.tistory.com/95 Te JAVA (2) - 자료구조 구현 (LinkedList) 1. LinkedList 구현 (ListNode, add(), remove(), contains()) 2. Stack 구현 (int 배열, push(), pop()) 3. Stack 구현 (ListNode, push(), pop()) 4. Queue구현..
1. LinkedList 구현 (ListNode, add(), remove(), contains()) 2. Stack 구현 (int 배열, push(), pop()) 3. Stack 구현 (ListNode, push(), pop()) 4. Queue구현 (int배열, ListNode 이용) 1. LinkedList 구현 LinkedList 정의 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 데이터가 저장되는 자료구조다. 자바에서는 포인터가 없기 때문에 다음 노드를 저장한다. head 노드로 맨 앞의 노드를 저장한다. 리스트의 사이즈를 조정하는 데 좋은 자료구조이지만, 탐색하는데 비효율적인 자료구조다. 구현 시 주의해야할 점은 head를 반환해야 한다. 어떤 함수를 사용하든 head가 매개변수로 들..