분류 전체보기 236

generic ch04 Material

package ch04; //new해서 실제 메모리에 사용할 필요가 없는경우 //abstract 클래스로 만들 수 있다. public abstract class Material { public abstract void doPrinting(); } package ch04; public class Plastic extends Material { @Override public void doPrinting() { System.out.println("플라스틱 재료로 출력합니다"); } @Override public String toString() { return "재료는 플라스틱입니다"; } } package ch04; publicclass Powder extends Material { @Override publ..

Java/Excercise 2021.09.03

generic ch03 GenericPrinterTest

package ch03; import ch02.Plastic; import ch02.Powder; public class GenericPrinterTest { public static void main(String[] args) { //재료 Powder powder = new Powder(); Plastic palstic = new Plastic(); //사용할 때 자료형을 넣어주면된다. //사용 방법 : T 대신에 사용할 어떤 자료형을 사용할지 지정해주면 된다. GenericPrintergenericPrinter = new GenericPrinter(); //T 를 컴파일하면서 Powder로 바꾸는것 //재료넣기 genericPrinter.setMaterial(powder); //재료 꺼내기 Powde..

Java/Excercise 2021.09.03

generic ch03 genericPrinter<T>

package ch03; //제네릭 자료형 public class GenericPrinter { // T - type 라는 대체 문자를 사용, E -element 의 약자로 ,K - key, V - value //사실 아무 문자나 사용가능하나 일반적으로 사용하는 문자들 //자료형 매개변수(type parameter) //이 클래스를 사용하는 시점에서 실제 사용할 자료형을 지정합니다. private T material; // T 자료형으로 선언한 변수 public T getMaterial() { return material; } public void setMaterial(T material) { this.material = material; } @Override public String toString()..

Java/Excercise 2021.09.03

generic ch01 제네릭의 정의

package ch01; public class MainTest1 { public static void main(String[] args) { //무엇이든 담을 수있는 제네릭(Generic)프로그래밍 //Generic: 일반화하다. (jdk 5.0 ~) //제네릭 프로그래밍을 사용하는 이유 //우리가 변수를 사용한다고하면 변수에 항상 자료형을 먼저 //지정하게 되어있다. //여러 자료형으로 사용 될 수 있는 변수가 있을때 우리는 //제네릭 프로그래밍을 설계, 사용할 수 있다. //int name; double name; String name; //담겨지는 데이터타입이 여러가지 일경우 int double String //변수를 기반으로 클래스를 만든다고 가정했을때 다양한 자료형으로 //사용되기 때문에 여러..

Java/Excercise 2021.09.03

object ch02 StringBuilderTest

package ch02; public class StringBuilderTest { public static void main(String[] args) { //StringBuilder, StringBuffer 활용하기 (메모리를 효율적으로 사용하게함) //내부적으로 가변적인 char[]를 맴버 변수로 가짐 //문자열을 여러변 변경하거나 변경할때 사용하면 유용함. //StringBuffer는 멀티 쓰레드 프로그래밍에서 동기화(synchronization)를 보장 //단일 쓰레드 프로그램에서는 StringBuilder 사용하기를 권장 //String st1, StringBuilder str2, //toString() 메서드로 String을 반환한다. String java = new String("java"..

Java/Excercise 2021.09.02

swing ch02 BorderLayoutEx

package ch02; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutEx extends JFrame{ private BorderLayout borderLayout; //BorderLayout 동서남북중앙 총 5개의 방향을 제시하는 명령어 JButton[] buttons = new JButton[5]; //5개의 공간이 만들어진 상태 String[] titles = {"북", "센터","남","동","서"}; String[] directions = {BorderLayout.NORTH, BorderLayout.CENTER, BorderLayout.SOUTH..

Java/Excercise 2021.09.02

swing ch02 FlowLayoutEx

package ch02; import java.awt.FlowLayout; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; public class FlowLayoutEx extends JFrame { //반복 : 배열 ->크기를 지정해야한다. //ArrayList : 크기를 지정할 필요가없다. //배열 , ArrayList 코드수정 JButton[] buttons = new JButton[6]; //private JButton button1; //private JButton button2; //private JButton button3; //private JButton button4; //private J..

Java/Excercise 2021.09.02