코딩하는 도로시

코딩 교육, 코딩 과학, 코딩 동화, 코딩 게임 등등! 아이부터 어른까지 모두 가능한 코딩! 함께 해보아요~~

분류 전체보기 68

JAVA 예외처리

[예외처리 1 : 정수만 입력가능하도록!(다른 문자를 입력했을 경우)] public class ExceptionTest2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("input inteager : "); int num = 0; try { num = scan.nextInt(); } catch (java.util.InputMismatchException e) { // e.printStackTrace(); // 이 명령문으로 '발생할 에러'의 종류를 알아내어 catch 의 조건으로 걸어주도록 한다. System.out.println("잘못된 에러입니다."); } ​ Syst..

개발메모장 2014.12.18

Swing Test

이것을 한번 만들어볼거에요. Green 버튼을 누르면 가운데 판넬의 background 가 초록색으로 바뀌고 Red 버튼을 누르면 빨간색으로 Yellow 버튼을 누르면 노랑색으로 Blue 버튼을 누르면 파랑색으로 바뀌는 프로그램이에요. 총 4가지 방법으로 각 버튼에 이벤트를 걸어줄거에요. public class InnerClassTest4 extends JFrame implements ActionListener{ JButton btnYellow = new JButton("Yellow");​ JButton btnGreen = new JButton("Green");​ JButton btnRed = new JButton("Red");​ JButton btnBlue = new JButton("Blue"); JP..

개발메모장 2014.12.18

Interface

1. 개방폐쇄원칙 2. 단일책임원칙 3. dependency injection (의존성 주입) 서비스 클래스는 자신이 수행할 액션이 무엇인지 모른다. 사용자가 선택한 액션을 취할 뿐. [예제1] //어떤 클래스가 다른 클래스의 객체를 멤버로 가진다. has_a : 의존한다. //의존할 때는 구체적인 것이 아니라 추상적인 것에 의존해야 한다. public class InterfaceTest { public static void main(String[] args) { Computer com = new Computer(); com.setKeyboard(new LKeyboard()); com.setMouse(new SMouse()); com.boot(); } } ///////////////////////////..

개발메모장 2014.12.18

JAVA 상속, 오버라이딩

* 부모 클래스가 추상적인 개념이라면, 자식 클래스는 좀더 구체적인 개념이다. * 부모 클래스의 목적 : "자식클래스들의 사용법을 통일시키겠다!" 1. 상속에서의 생성자. class Human{ // 추상적인 개념, 분류 private String name, jumin; public Human() { this("-", "-"); } public Human(String name, String jumin){ this.name = name; this.jumin = jumin; } } class Student extends Human{ public Student() { this("-", "-", "-", 0); //자신의 생성자. } public Student(String name, String jumin, S..

개발메모장 2014.12.18

Static, Final 멤버

1. Static - 객체 소속인 일반 필드들과는 달리, static 멤버 변수는 클래스 소속의 변수로, 객체들이 공유한다. 즉, 한 클래스의 객체를 10번 호출해도 스태틱 멤버 변수는 단 하나밖에 생성되지 않는다. 따라서 어느 객체가 이 스태틱 변수를 호출하던 그 변수는 똑같은 변수이므로 결과값은 값다. - 스태틱 멤버 변수는 생성자에서 초기화하면 안된다. 1) 필드를 만들면서 바로 초기화 하거나 2) 정적초기화 영역 (static initializer) 에서 초기화 해야 한다. ex> class Test4{ static int cnt = 0; // 초기화 방법 1 : 필드 만들면서 바로 초기화 static{//정적 초기화 영역 (static initializer) cnt = 0;// 초기화 방법 2 ..

개발메모장 2014.12.18

JAVA 클래스 구현2

1. 하나의 제대로 된 구현을 위해서는 클래스가 최소 3개는 필요합니다. 1) 생성 및 정의하는 클래스 2) 1)의 클래스를 CRUD(읽고, 쓰고, 갱신하고, 삭제하는) 클래스 3) 2)를 test 하고 결과값을 출력해주는 클래스. 2. 생성자는 최소 2개는 필요합니다. 1) 기본생성자 2) 모든 '필드' 의 값을 매개변수로 받아오는 생성자. 3. Get, Set 함수는 최소한의 개수만 만들도록 합니다. 메소드가 너무 많으면 사용자가 불편하겠지요. ㅎㅎ [Emp.java] //생성 public class Emp { private int empNo; private String ename; private int salary; //기본 생성자 : emp 객체를 CRUD(create, read, update, ..

개발메모장 2014.12.18

ArrayList 예제

1. ArrayList 로 만드는 스택과 큐 1) 스택 (가장 마지막에 들어간 데이터가 가장 먼저 나온다.) class ArrayListStack{ private ArrayList list = new ArrayList(); //ArrayList 객체 생성 //push를 호출하면 배열에 문자 하나씩 push! public void push(char ch){ list.add(ch); } //pop을 호출하면, 배열의 가장 마지막 데이터 하나씩 빼내어 반환. public char pop(){ return (char)list.remove(list.size() - 1); } } 2) 큐 (가장 먼저 들어간 데이터가 가장 먼저 나온다.) class ArrayListQueue{ private ArrayList lis..

개발메모장 2014.12.18

JAVA 클래스 구현

[Tip!! 생성자 자동으로 만들기] 1) 마우스 오른쪽을 클릭하고 Source 2) -> Generate Constructor using field 를 클릭하면 3) 창이 뜨는데, 여기서 생성자가 매개변수로 받을 변수들을 선택하고 4) OK 를 클릭하면 생성자가 생성이 됩니다. [ 삼각형, 사각형 클래스 만들과 좌표 출력하기 ] 1) 각 꼭지점을 의미하는 Point 클래스 정의하기. [ Point.java ] import java.awt.Color; import javax.xml.soap.Text; public class Point { private double x,y; private Color color; private char ch; //기본생성자 public Point() { this(0,0,Co..

개발메모장 2014.12.18