본문 바로가기

Language & Library56

Collection과 Map Collection과 Map 배열의 발전된 모델컬렉션(Collection)과 맵(Map) 계열의 클래스 배열의 컬렉션이나 맵계열의 클래스와의 차이점배열은 크기를 동적으로 늘릴 수 없지만 컬렉션이나 맵 계열의 클래스는 동적으로 메모리를 확장할 수 있다. Collection류와 Map류의 클래스자료구조적인 기능의 클래스 컬렉션(Collection)과 맵(Map) 인터페이스컬렉션과 맵은 인터페이스이기 때문에 메소드의 프로토타입만 존재한다.컬렉션을 구현해서 사용하면 집합적인 저장공간으로서의 기능을 구현한 클래스가 된다.맵을 구현해서 사용하면 검색적인 저장공간으로서의 기능을 구현한 클래스가 된다. Collection Collection 인터페이스의 특징이것을 구현한 클래스들은 모두 집합적인 저장공간으로서의 기능을.. 2014. 1. 16.
java - Class(클래스) 기본 데이터 타입의 한계기본 데이터 타입으로 변수를 생성했을 때 생성된 변수에는 하나의 데이터만 보관할 수 있다.정해진 데이터 타입만을 사용해야 한다. 기본 데이터 타입 변수에 여러 번 값 할당int n = 100;n = 200;n = 300; 구조체동시에 여러 개의 데이터를 담을 수 있는데이터 타입을 사용자가 직접 만들어서 사용하는 사용자 정의 데이터 타입 구조체 ---발전---> 클래스(C 언어) 객체지향 언어(c++, java) 클래스자바에서는 구조체가 발전해서 클래스가 된다.사용자 정의 데이터 타입 2014. 1. 16.
java - 추상 클래스(Abstract class)와 인터페이스(Interface) 추상클래스 추상 메소드(Abstract method) 메소드의 구현코드가 없는 메소드를 추상 메소드라고 한다. 몸체 없는 메소드의 선언부에 abstract 키워드를 사용해야 한다. 추상 클래스(Abstract Class) 구현코드가 없는 메소드를 포함한 클래스를 추살 클래스라고 한다. 추상 클래스일 경우 클래스의 선언부에 abstract 키워드를 사용해야 한다. 완전한 클래스가 아니기 때문에 추상 클래스로는 객체를 생성할 수 없다. 메소드의 Prototype을 가지고 있음 추상 클래스 예) public abstract class Test{ public void aTest(){} public void bTest(){} public abstract void cTest(); } 인터페이스(interface) .. 2014. 1. 14.
java - 변수(Variable) java에서의 변수 변수란 데이터 타입에 명시된 형태의 데이터를 담을 수 있는 메모리 변수와 데이터 타입의 관걔 변수는 데이터 타일을 총해서 존재 변수의 목적 변수를 만드는 이유는 데이터를 보관하기 위해서이다. 변수의 이름 변수의 이름은 해당 메모리를 핸들 할 수 있는 유일한 수단이다. 변수에 값 할당 변수에는 데이터 타입에 맞는 형의 데이터를 넣어야 한다. example) int n; 데이터 타입으로 메모이 생성 n 은 심볼(Symbol)이다. 4바이트의 메모리를 생성항 후 이 메모리를 n이라는 심볼에 연결 n을 사용하게 되면 n이 연결된 내부의 메모리에 작업이 된다. 네이밍(naming) cjt qjsWo answksms dudanswksk _(언더바)로 시작 첫 번째 문자는 숫자로 시작할 수 없음 .. 2014. 1. 14.
인터넷익스플로러8 (internet Explorer8, IE8)에서 new Date() 함수 못 쓸 때.. 여러 브라우저에서 new Date() 함수가 잘 실행되었는데, 문제: 인터넷익스플로러8 에서 NaN으로 값을 뱉었다. 예를 들어 alert(new Date("2014-01-01")); 위의 실행결과: NaN 해결: javascript로 아래와 같은 함수를 사용하면 문제를 해결할 수 있다.function parseISO8601(dateStringInRange) { var isoExp = /^\s*(\d{4})-(\d\d)-(\d\d)\s*$/, date = new Date(NaN), month, parts = isoExp.exec(dateStringInRange); if (parts == null && dateStringInRange.length == 8){ parts = new Array(); parts.. 2014. 1. 10.
Garbage Collector C++에서의 메모리 관리 new를 사용해서 메모리를 생성했으면 반드시 사용자가 직접 delete를 사용해서 메모리를 제거해주어야 한다. 가비지 컬렉터가 있기 때문에 자바에서는 delete가 없다. 가비지 컬렉터 자바의 메모리 관리자 역할을 담당한다. 가비지 컬렉터가 하는 일 더 이상 사용하지 않는 메모리나 불필요한 메모리를 제거 메모리가 부족하면 메모리의 조각 모음을 한다. 가비지 컬렉터의 관리 대상 힘에 생성되는 객체의 메모리 2014. 1. 2.
stack과 heap memory Stack memory 프로그램을 실행하는데 필요한 메모리 공간 지역변수(local variable) 매개변수(parameter) 리턴값이 저장될 곳(return value) 스택 프레임(Stack Frame) 하나의 메서드를 호출하는데 필요한 메모리 덩어리 메소드 하나당 하나의 스택 프레임이 존재 Heap memory new 연산자에 의해 allocation 되는 메모리 영역 2014. 1. 2.
constructor (생성자) 생성자의 정의 객체의 생성과 동시에 자동으로 호촐되는 메서드 디폴트 생성자 생성자가 없는 클래스를 위해서 컴파일러는 매개변수를 가지지 않는 디폴트 생성자를 자동으로 만들어 준다. 디폴트 성성자 예시 public class DefaultConstructor { public void sayHello(){ System.out.println("Hello World!"); } public static void main(String[] args){ DefaultConstructor dc = new DefaultConstructor(); //디폴트 생성자의 사용 dc.sqyHello(); } } 생성저의 특징 1 생성자는 리턴타입이 없다 생성자의 이름은 클래스의 이름과 동일하다. 생성자는 객체의 메모리가 생성된 직후.. 2014. 1. 2.
jqGrid 헤더 클릭 시 정렬 (jqGrid header sort) 우선 참고 사이트 보기 ( http://trirand.com/blog/jqgrid/jqgrid.html ) [jqGrid Demos] -> [Items] 창에서 [New in version 3.6] -> [Sortable Rows] 참조 나 같은 경우 위와 같은 방식으로 했는데 헤더를 클릭해도 정렬이 안되었다.. --;그래서 아래와 같이 sortable: true와 loadonce : true 를 넣으니 되었다. jQuery("#sortrows").jqGrid({ sortable: true , url:'server.php?q=2', datatype: "json", colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], colModel:.. 2013. 12. 31.
static static static 멤버 변수 : 객체를 아무리 많이 만들더라도 static 변수는 오직 하나의 메모리만 생성 실생활과 비교하여 예) -학교의 컴퓨터는 모두 프린터를 사용할 수 있다. -1대의 프린터로 모든 컴퓨터들이 공유를 한다. static 메모리 생성 시기static으로 선언된 변수는 객체가 생성되기 전에 메모리 allocation이 이루어진다.따라서 객체를 생성하지 않고서도 멤버 변수 접근이 가능하다. static 멤버 함수static 멤버 함수 내에서는 일반 변수를 사용할 수 없다.static 멤버 변수만을 사용 public class Test { public static int s; public int a; public int b; public int c; public static voi.. 2013. 12. 31.
반응형