Java 33

[Java 연습 문제] String Sort (with Bubble Sort)

문제Generic을 이용하여 String을 정렬해라. 코드import java.util.*;public class StringBubbleSort {// interface인 Comparable을 extends 하는 이유: T는 Comparable인 타입이어야 한다!! // 그래서 Comparable을 extends(확장)한 타입이다 라는 의미다! public static > void bubbleSort(T[] array) { int n = array.length; for (int i=0; i 0) { T temp = array[j]; array[j] = array[j+1]; ..

[Java] 11. Generics(제네릭)

Chapter 1: Generics 개요Generics 개요강력한 타입 검사타입 변환 감소알고리즘 일반화Chapter 2: Generic 타입Generic 타입 선언Generic 타입 생성자Generic 객체 생성Chapter 3: Generic 메소드Generic 메소드 선언타입 추론Chapter 4: 타입 파라미터타입 파라미터 명명 규칙다중 타입 파라미터타입 제한상속 및 서브 타입와일드 카드Chapter 5: 타입 삭제Generics 에서의 타입 삭제Generics 메소드에서의 타입 삭제Chapter 6: Generics 제약타입 파라미터 제약Generics 타입 제약메소드 오버로딩 제약Lab 11-A Generics를 이용한 응용 프로그램 작성 Chapter 1: Generics 개요 자바의 다형성..

Java 2024.08.31

[Java] Singleton 패턴

Singleton 패턴 Class의 Instance가 오직 하나임을 보장, 정의된 접근 방식에 의해서만 접근. Singleton의 instance인 singleton을 private static으로 선언 후, 생성자를 priavate로 선언해서 생성 불가능하게 한다. 그 후 getSingleton() 메소드를 통해서만 Singleton instance를 생성할 수 있다.코드 public class Singleton { private static Singleton singleton; private static int n; public int nextNumber(int n) { this.n = n; return this.n++; } private Singl..

Java 2024.08.31

[Java 연습 문제] 상속을 사용하여 인터페이스 구현

Adder와 Multiplier는 두 숫자를 인자로 받아 연산하는 같은 행위(Common Behavior)를 수행한다. 이 공통된 행위를 interface로 만든다.(BinaryOp) 그 후 Adder와 Multiplier는 이를 implements 한다. 코드BinaryOp.javainterface BinaryOp { int apply(int left, int right);} Adder.javaclass Adder implements BinaryOp { public int apply(int left, int right) { return left + right; }} Multiplier.javapublic class Multiplier implements BinaryOp { ..

[Java] 10. Java에서의 상속

Chapter 1: 서브 클래스 작성클래스 확장슈퍼 클래스 멤버에 엑세스슈퍼 클래스 생성자 호출Chapter2: 메소드 구현가상 메소드(Virtual Method)메소드 오버라이딩final 메소드final 클래스Chapter 3: 인터페이스인터페이스 선언다중 인터페이스 구현인터페이스 메소드 구현인터페이스의 default 메소드인터페이스의 static 메소드 구현Chapter 4: 추상 클래스추상 클래스 선언클래스 계층 구조에서 추상 클래스 사용클래스 계층 구조에서 추상 클래스 사용(2)추상클래스와 인터페이스추상 메소드 구현Lab 10-1: 상속을 사용하여 인터페이스 구현Chapter 1: 서브 클래스 작성클래스 확장한 클래스(Super class)에서 파생되는 클래스(Sub class)를 생성.파생되는 ..

Java 2024.08.30

[Java] 09. 객체 생성과 제거

Chapter 1: 생성자객체 생성기본 생성자 사용생성자 오버라이딩생성자 오버로딩Chapter 2: 데이터 초기화초기화 목록상수 선언private 생성자static 생성자Lab 9-1 객체 생성Chapter 3: 객체와 메모리객체 생명주기객체와 범위가비지 컬렉션Chapter 1: 생성자 생성자: 객체 생성시에 객체를 초기화하는데 사용되는 메소드. 메소드 종료 2가지: ① 모든 statement 실행, ② return객체 생성메모리 할당: new 키워드를 사용하여 Heap 영역에 메모리 할당.생성자를 사용하여 객체 초기화: 클래스 이름과 괄호 사용.Date now = new Date(); 기본 생성자 사용클래스에 생성자를 명시적으로 작성하지 않으면 컴파일러가 기본 생성자가 제공한다.생성자 구문public클..

Java 2024.08.30

[Java 연습 문제] 텍스트 파일의 소문자 복사본 생성

문제텍스트 파일의 이름을 입력 받아 파일을 읽은 후, 읽은 파일의 모든 문자를 소문바로 변경한 복사본을 생성하는 프로그램을 작성하시오. 코드import java.io.*;import java.util.Scanner;public class CopyFileLower { public static void main(String[] args) { String stringFrom; String stringTo; BufferedReader fileStreamFrom; BufferedWriter fileStreamTo; Scanner scanner = new Scanner(System.in); System.out.println("Copy ..

[Java 연습 문제] Text file 입출력

문제텍스트 파일의 이름을 main 함수의 argument로 받아서 파일의 내용을 요약해서 출력.터미널에서 java FileDetails Yesterday.txt 하면 txt파일을 넘겨주면서 실행한다. Text file/* Yesterday.txt */YesterdayYesterday, All my trouble seemed so far awayNow it looks as though they're here to stayOh, I believe in yesterdaySuddenly, I'm not half the man I used to beThere's a shadow hanging over meOh, yesterday came suddenlyWhy she had to go, I don't know sh..

[Java] Getter / Setter 메소드

Getter / Setter 메소드는 객체 지향 프로그래밍에서 클래스의 캡슐화를 실현하는 중요한 도구다. Getter 메소드클래스의 private 필드에 저장된 값을 외부에서 읽을 수 있도록 한다.필드의 값을 반환한다.일반적으로 'get' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. Setter 메소드클래스의 private 필드에 새로운 값을 할당(수정)할 수 있도록 한다.전달된 값을 필드에 할당한다.일반적으로 'set' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. 코드public class Person { private String name; private int age; // Getter for name public Str..

Java 2024.08.28