설계

    [15] 프로그램 설계 방법론 ( 텍스트 및 예외 처리)

    파일을 영구 보존하기 위해서는 RAM이 아니라 외부 저장 장치에 저장해야 한다. 텍스트 # String 텍스트는 일종의 문자열이고, 수정불가하다. 즉, immutable하다. String과 Char[]는 다르다. String은 immutable하지만 Char[]은 mutable하다. .equals()의 매개변수에는 Object가 들어가서 어떤 것이든 들어간다. 다른 말로 유연하다. package example; public class example_string { public static void main(String[] args) { String s = "abc"; String t = "abc"; System.out.println(s==t); System.out.println(s.equals(t)); ..

    [14] 프로그램 설계 방법론 ( GUI 이용 )

    GUI를 사용하여 다음 설계도를 구현해 보자.

    [13] 프로그램 설계 방법론(interface 실습)

    instanceof 이것은 매개변수에 자식 클래스를 포괄할 수 있는 부모 클래스가 들어갔을 때 어떤 자식 클래스인지 비교를 위해 사용한다. 아래와 같이 사용할 수 있다. if(k instanceof IntegerKey) System.out.println(((IntegerKey)k).getInt()); else if(k instanceof StringKey) System.out.println(((StringKey)k).getString()); else System.out.println("모르는 Key 출현 오류"); Abstract Class interface는 아무것도 없는 빈 껍데기이고, 그것을 구현하면 class가 된다. 그 중간 단계를 abstract class라고 부른다. abstract 클래스를..

    [12] 프로그램 설계 방법론(interface, class hierarchy)

    인터페이스(Interface) 일반적인 MVC 모델은 클래스끼리의 종속 관계가 있어 구현의 분업이 어렵다. 이러한 문제를 해결하기 위해 interface를 이용한다. interface를 이용하면 종속 클래스를 대신해 컴파일이 가능하기 때문이다. 다음과 같은 프로그램이 있다고 하자. 이것을 MVC(Model, View, Controller)로 팀을 분업해서 프로그래밍하기란 어려운 일이다. 따라서 인터페이스를 사용하여 이 프로그램을 분업화 한다면 아래 그림과 같이 설계도를 구성할 수 있다. 그리고 인터페이스 내부의 코드는 다음과 같다. public interface SlidePuzzleBoardInterface { public boolean move(int w); public PuzzlePiece[][] b..

    [11] 프로그램 설계 방법론(2차원 배열)

    시험 : 코딩 시험(범위 : 오늘 배운것 까지) 작성해야 할 코드가 많을 수 있다. Ragged Arrays : 들쭉날쭉 배열(행의 개수는 정해져있지만, 열의 개수는 정해지지 않음) 실습 - 슬라이드 퍼즐 게임 :

    [10] 프로그램 설계 방법론(자료구조와 배열)

    배열(array) : 동일한 타입의 값을 정해진 개수만큼 나란히 이어 붙여 놓은 구조 int[] r; //null int[] r = new int[6]; 배열(array)는 객체(object) 배열 생성 시 각 원소는 기본값으로 초기화된다 인덱스(index)는 정수로 0부터 시작한다 배열의 크기가 6이면, 인덱스의 범위는 0~5이다 int [] s = r; 위의 코드는 "r이 갖고 있던 int 배열의 주소를 s도 갖게 하라" 라는 의미이다. 즉, 다음과 같다. 실행 중 범위를 벗어난 인덱스로 배열을 참조하면 ArrayIndexOutOfBoundsException 오류 발생한다 이 오류는 컴파일러가 잡을 수 없다. 프로그램을 만든 사람 책임!! int[] r = new int[12]; r[0] = 1; r..