Java 프린터 미리보기와 출력 프로그램 (명찰 출력)
·
Java
개요A4 용지 기준으로 여러 사람의 정보를 6칸씩 나눠서 출력하고, 출력 전 미리보기를 제공하는 프로그램이다. 실행 화면 미리보기 화면으로 A4용지 전체 내용이 표시됨하단 이전, 다음 버튼으로 총 페이지의 미리보기가 가능 상단 출력하기 버튼 클릭 시 나타나는 화면내 PC에 연결된 모든 프린터를 불러온다. 전체 구조 요약Person 클래스: 출력할 데이터 구조 정의 (이름, 역할, 직책)PrintTest 클래스: Printable 구현 → 페이지 단위로 인쇄 가능PreviewPanel 클래스: 스크롤 가능한 미리보기 패널main 메서드: 프레임 구성, 버튼, 페이지 전환, 출력 기능 구현 Person 클래스private static class Person { String name, r..
Java 상속(Inheritance) 이해하기 - 업캐스팅, 다운캐스팅
·
Java
우선, 메서드와 생성자의 정확한 차이부터 짚고 가야한다. 메서드와 생성자 차이구분 메서드 (Method) 생성자 (Constructor) 목적객체가 가진 동작/기능을 정의객체가 생성될 때 초기화이름아무 이름 가능클래스 이름과 동일해야 함반환 타입있어야 함 (void, int, etc)❌ 없음 (void도 안 씀)호출 시점객체가 만들어진 후 호출new 클래스명() 할 때 자동 호출호출 방법객체.메서드()new 클래스()상속/오버라이딩메서드는 오버라이드 가능생성자는 상속/오버라이드 불가 (다만 super()로 호출 가능) 업캐스팅과 다운캐스팅 개념방향설명업캐스팅자식 → 부모자식 객체를 부모 타입으로 참조 (자동)다운캐스팅부모 → 자식부모 타입 참조를 자식 타입으로 형변환 (명시적) 단, 실..
[Java] isEmpty()와 isBlank()의 차이
·
Java
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] 그래프 너비 우선 탐색 알고리즘 Breadth-First Search
·
Java
- 위키백과 -너비 우선 탐색(Breadth-first search, BFS)은 맹목적 탐색방법의 하나로 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 너비 우선 검색을 적용한다. OPEN List는 큐를 사용해야만 레벨 순서대로 접근이 가능하다. 그래프의 너비 우선 탐색 알고리즘을 Java로 구현해보자. 우선 빈번히 사용 Node 클래스를 작성한다. Node.javapublic class Node { int info; //정점에 대응된 데이터 boolean visited; //방문 여부 List neighbours; //정점에 인접한 정점들의 연결 목록 public Nod..
[Java] 트리 순회 알고리즘
·
Java
트리의 순회 방법에는 3가지가 있다. 전위 순회 중위 순회 후위 순회 한 가지씩 자세히 알아보자. 1. 전위 순회( preorder ) 전위 순회란 루트 노드를 가장 먼저 방문하고, 왼쪽과 오른쪽 서브트리를 방문하는 순회 방법이다. 다음과 같은 예제에서 전위 순회 방법을 사용한다면 방문 순서가 어떻게 될까? 루트노드를 가장 먼저 방문해야 하므로 처음엔 0번을 방문할 것이고, 그 다음엔 왼쪽과 오른쪽의 서브트리가 남는다. 왼쪽을 먼저 방문하면, 왼쪽 서브트리에는 또 루트노드인 1이 있다. 따라서 루트노드인 1을 방문하고, 왼쪽 노드와 오른쪽 자식노드인 3, 4를 방문한다. 그렇게 하면 방문 순서는 다음과 같다. 2. 중위 순회( Inorder ) 중위 순회는 루트 노드를 중간에 방문하기에 중위 순회라고 생..