Java 4

Java 상속(Inheritance) 이해하기 - 업캐스팅, 다운캐스팅

우선, 메서드와 생성자의 정확한 차이부터 짚고 가야한다. 메서드와 생성자 차이구분 메서드 (Method) 생성자 (Constructor) 목적객체가 가진 동작/기능을 정의객체가 생성될 때 초기화이름아무 이름 가능클래스 이름과 동일해야 함반환 타입있어야 함 (void, int, etc)❌ 없음 (void도 안 씀)호출 시점객체가 만들어진 후 호출new 클래스명() 할 때 자동 호출호출 방법객체.메서드()new 클래스()상속/오버라이딩메서드는 오버라이드 가능생성자는 상속/오버라이드 불가 (다만 super()로 호출 가능) 업캐스팅과 다운캐스팅 개념방향설명업캐스팅자식 → 부모자식 객체를 부모 타입으로 참조 (자동)다운캐스팅부모 → 자식부모 타입 참조를 자식 타입으로 형변환 (명시적) 단, 실..

Java 2025.04.14

[Java] isEmpty()와 isBlank()의 차이

isEmpty() 문자열의 길이가 0인 경우 즉, 문자가 없는 경우 true를 반환한다. TRUE String a = ""; System.out.println(a.isEmpty()); FALSE String a = " "; System.out.println(a.isEmpty()); isBlank() 문자열이 비어 있거나 공백 문자(공백, 탭, 줄 바꿈 등)만 포함된 경우 true를 반환한다. TRUE String a = ""; System.out.println(a.isBlank()); String a = " "; System.out.println(a.isBlank()); String a = "\n\t"; System.out.println(a.isBlank()); FALSE String a = " 1 ";..

Java 2024.01.29

[Java] 그래프 너비 우선 탐색 알고리즘 Breadth-First Search

- 위키백과 - 너비 우선 탐색(Breadth-first search, BFS)은 맹목적 탐색방법의 하나로 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 너비 우선 검색을 적용한다. OPEN List는 큐를 사용해야만 레벨 순서대로 접근이 가능하다. 그래프의 너비 우선 탐색 알고리즘을 Java로 구현해보자. 우선 빈번히 사용 Node 클래스를 작성한다. Node.java public class Node { int info;//정점에 대응된 데이터 boolean visited;//방문 여부 List neighbours;//정점에 인접한 정점들의 연결 목록 public Node(int info..

Java 2023.01.20

[Java] 트리 순회 알고리즘

트리의 순회 방법에는 3가지가 있다. 전위 순회 중위 순회 후위 순회 한 가지씩 자세히 알아보자. 1. 전위 순회( preorder ) 전위 순회란 루트 노드를 가장 먼저 방문하고, 왼쪽과 오른쪽 서브트리를 방문하는 순회 방법이다. 다음과 같은 예제에서 전위 순회 방법을 사용한다면 방문 순서가 어떻게 될까? 루트노드를 가장 먼저 방문해야 하므로 처음엔 0번을 방문할 것이고, 그 다음엔 왼쪽과 오른쪽의 서브트리가 남는다. 왼쪽을 먼저 방문하면, 왼쪽 서브트리에는 또 루트노드인 1이 있다. 따라서 루트노드인 1을 방문하고, 왼쪽 노드와 오른쪽 자식노드인 3, 4를 방문한다. 그렇게 하면 방문 순서는 다음과 같다. 2. 중위 순회( Inorder ) 중위 순회는 루트 노드를 중간에 방문하기에 중위 순회라고 생..

Java 2023.01.20