/*static method로 구현했기 때문에 * 객체가 할당되지 않아도(기본적인 객체가 자동할당됨) 메소드를 사용할 수 있다. * min -> first -> second 순서로 호출 * 스택이기 때문에 종료는 반대로 진행됨*/public class CallStack { public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("1 start");firstMethod();System.out.println("1 end");} static void firstMethod() {// TODO Auto-generated method stubSystem.out.println("2 start");Second..
싱글톤은 객체의 할당을 제한할 때 사용한다.기본 생성자 Singleton()을 private으로 설정하면 외부에서 접근이 불가능하기 때문인데이 때 static 메소드를 이용하여 인스턴스를 만들 수 있도록 구현한다. public class Singleton { static Singleton st = null; //하나의 객체만 선언private Singleton(){}public static Singleton sharedInstance(){if(st==null)st = new Singleton(); //하나의 객체 생성return st;}public static void main(String[] args) {// TODO Auto-generated method stubSingleton st1 = Singl..
package cbnu; public class Bubble { public static void main(String[] args) {// TODO Auto-generated method stub int array[] = { 1024, 512, 16, 8, 256, 64, 2048, 9048, 4096, 2 }; for (int i = 0; i array[j + 1]) {swap(array, j, j + 1);}}}for (int i = 0; i < array.length; i++) {System.out.print(" " + array[i]);}..
package cbnu; public class Select { public static void main(String[] args) {// TODO Auto-generated method stub int array[] = { 1024, 512, 16, 8, 256, 64, 2048, 9048, 4096, 2, 1023 }; for (int i = 0; i array[j])swap(array, i, j);}} for (int i = 0; i < array.length; i++) {System.out.print(" " + array[i]);}} private ..
http://bioportal.weizmann.ac.il/course/prog2/tutorial/java/javaOO/annotations.html JDK 5.0 릴리즈에는 어노테이션(annotation)이라 불리는 메타데이터 기능이 도입되었다. 어노테이션은 코드 조각의 작성자 명이나 컴파일러가 특정 오류를 억제하도록 지시하는 것과 같이 프로그램의 일부가 아닌 프로그램에 관한 데이터를 제공해 준다. 어노테이션은 코드가 어떻게 수행되는 것에는 아무런 영향을 주지 않는다.어노테이션은 @어노테이션의 형태를 사용하고 클래스, 필드, 메소드 등과 같은 프로그램의 선언부에 적용할 수 있다. 어노테이션은 가장 처음으로 그리고 종종(관례상) 그 줄에 나타나며 임의의 인수를 포함할 수 있다: @Author("MyName..
인터페이스는 다중상속이 불가능한 자바에서 다중상속을 가능케 해주는 기능이 있다.하지만, 그것 외에도 코드의 골격을 구성하거나 작업분배, 지시를 할 때 편리할 것 같다. -인터페이스의 멤버 변수는 기본적으로 static final이고 모든 메서드는 기본적으로 public abstract이다. 이를 생략해도 컴파일러가 알아서 추가해준다. public interface PlayingCard (public static final int SPADE = 4;final int DIAMOND = 3;static int HEART = 2;int CLOVER = 1; public abstract String getCardNumber();String getCardKind (); } 여기서 정의한 인터페이스를 사용하려면 im..
Sencha touch란 간단하게 웹기반어플이라고 생각하면 될 것 같다. 기존의 안드로이드 어플이나 아이폰 어플을 생각하면 플랫폼이 다르기 때문에아이폰에서 성공한 어플을 안드로이드로 진출시키려면 플랫폼에 맞추어 어플을 이식하는 과정을 거쳐야 하는데플랫폼과 언어 모두 다르기 때문에 어려운 점이 있다. 그래서 Sencha를 사용하게 되는데 HTML, CSS와 같은 웹표준을 사용하기 때문에 범용성이 좋다고 할 수 있다. - Sencha Touch는 빠르고 쉽게 안드로이드 , iOS, 블랙베리, Windows Phone, Microsoft Surface Pro/RT 기기에서 동작하는 HTML5 모바일 앱을 만들 수 있게 하면서도 브라우저나 하이브리드 쉘에서 네이티브앱과 같은 경험을 제공한다. - 모바일 웹앱 프..
응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3 가지 주요영역 (method area, 호출스택, heap) 에 대해서 알아보자. 1, 메서드영역 (method area)프로그램 실행 중 어떤 클래스가 사용되면, JVM 은 해당 클래스의 클래스파일 (*.class) 을 읽어서분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때, 그 클래스의 클래스변수(class variable) 도 이 영역에 할께 생성된다 . 2. 힙 (heap)인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다 . 즉, 인스턴스변수(instance variabl..