컬렉션의 요소들을 일정 기준에 따라 정렬하고자 할 때, 정수, 실수, 문자 등 컴파일러가 인식할 수 있는 일정한 순서의 기준이 존재하지 않는다면 정렬시에 에러가 발생하게 된다. 그럼에도 불구하고 정렬을 필요로 할 때 우리는 Comparator 혹은 Comparable 을 이용해 정렬의 기준을 제시할 수 있다. Comparator Comparator 인터페이스를 상속받는 Class로 개발자가 원하는 정렬의 기준을 기술할 수 있다. package com.test02; import java.util.Comparator; class MySortTest implements Comparator { @Override public int compare(String o1, String o2) { // int tmp1 =..
컬렉션 프레임워크 객체를 그룹 단위의 데이터로 저장하는 기본적인 자료구조들의 모음 다수의 데이터를 그룹으로 묶어 관리할 수 있으므로 프로그래밍이 보다 편리해지고, 코드의 재사용성을 늘릴 수 있다. 컬렉션 프레임워크 종류 컬렉션 프레임워크의 주요 인터페이스는 List, Set, Map 이 있다. 인터페이스 분류 특징 구현 클래스 Collection List 순서를 유지하고 저장 중복 저장 가능 ArrayList, Vector LinkedList Set 순서를 유지하지 않고 저장 중복 저장 안됨 HashSet, TreeSet Map 키와 값의 쌍으로 저장 키는 중복 안됨 값은 중복 저장 가능 HashMap, Hashtable TreeMap, LinkedHashMap 1. List 객체를 일렬로 늘어놓은 구조..
package com.singleton; /* * singleton * * memory(heap)에 객체를 한번만 생성한다. * * new 연산자를 사용할 수 없다. static으로 생성된 객체 하나를 호출한다!! * 이미 생성되어 있던 객체의 주소값을 참조한다. 단 한번만 생성된다! */ public class Singleton { // 2. 객체의 주소값을 확인할 변수를 static으로 선언! private static Singleton singleton; // 1. 생성자를 외부에서 호출할 수 없도록 private으로 선언!!!!!!!!!!!!!!! private Singleton() { System.out.println("singleton instance 생성!!!!!!!!!!!!!!"); } /..
추상 (Abstract) 클래스 추상 클래스는 미완성된 클래스를 뜻하며, 선언되어 있지만 구현되지 않은 미완성의 메소드(추상 메소드)를 포함하고 있는 클래스일 때 반드시 abstract 키워드를 class 앞에 붙여준다. 클래스로서의 객체 생성은 못 하지만 새로운 클래스를 작성할 때 부모 클래스로 이용되며 새 클래스 작성을 위한 템플릿이 되어 상속받은 클래스들의 규칙을 주는 용도로 사용 가능하다. public abstract class 클래스이름 { // 필드, 생성자, 메소드 작성 // 미완성된 추상 메소드 선언 } 클래스 앞에 'abstract' 키워드를 붙이면 추상 클래스가 생성되며, 객체를 생성할 수 없다는 점만 빼면 일반 클래스와 다른 점이 없다. 추상 (abstract) 메소드 메소드는 접근제..
문제 : class diagram을 보고 furitsBasket class 를 작성하자 fruitCount의 초기값은 5 이다. Setting 메서드를 호출할 때 size 변수에 30을 대입하자 setting 메서드의 string 파라미터는 과일의 이름을 받아서 fruitName 변수에 대입하고, int 변수는 과일의 갯수를 받아서 fruitCount 변수에 더해서 대입하자(+=) basketPrn 메서드는 size와 fruitCount의 값을 배교해서 size가 크거나 같으면 과일이름+"의 갯수는 "+갯수+"입니다. ", 작으면 "바구니가 꽉 찼습니다." 를 출력한다. Main() package com.test02; public class MTest { /* * class diagram을 보고 furi..
1. 부모(선조) 의 타입으로 자식(후손) 객체 생성 가능 Parent p = new Child(); 2. 부모의 타입으로 자식 대입 가능 Child c = new Chile(); Parent p = c; 3. 부모의 메서드를 통해 자식 메서드 호출 가능 같은 부모클래스를 가지고 있는 자식 클래스는 컴파일 시 형 변환이 가능하지만 런타임 시 ClassCastException을 발생시킨다. Test Code 위와같은 개념을 나타낼 test code 를 작성해 보겠습니다. 다음과 같은 class 구성도에 따라 class 를 구현합니다. package com.test02; public class MTest { public static void main(String[] args) { // 부모클래스 형태의 변수..
Override [오버라이드] 전제조건 : 상속 관계 에서 작동 상속받은 부모의 메서드를 자식이 변경 또는 확장 동일 이름, 동일 파라미터, 동일 리턴타입 예시 코드는 다음과 같습니다. package com.test02; public class Animal { public Animal() { System.out.println("동물"); } public void bark() { System.out.println("짖는다. "); } } package com.test02; public class Cat extends Animal { public Cat() { System.out.println("고양이"); } // overried : 재정의 -> 상속받은 부모클래스의 메서드를 확장/변형 할 때 @Overr..
클래스(Class) : class는 설계도 이다. 객체를 만들기 위해 필요한 객체의 설계도라고 볼 수 있다. 자료형이 다른 변수들을 메모리에 연속 나열 할당하기 위한 순서를 지정하는 역할을 하며, 클래스 블록 { } 이 캡슐의 역할을 하여 객체 외부에서 멤버변수(Field)로의 접근을 제한하며, 멤버변수들을 하나의 타입으로 묶어 주는 것이 클래스이다. 객체(Object) 와 인스턴스(Instance) 추상화가 이루어진 클래스로부터 데이터가 존재하는 실체로 만드는 과정을 인스턴스화(instantiation) 라고 하며, 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 자바에서는 객체, 즉 인스턴스는 무조건 메모리 힙(Heap) 영역에 할당하도록 정하였으며 할당된 객체의 주소..
OOP (Object Oriented Programming) : 객체지향 프로그래밍 = 기능별로 객체를 나눈다. 객체지향 프로그래밍이란 객체를 이용하는 프로그래밍 방식을 말한다. 객체(Object)란 컴퓨터, 고객, 학생, 자동차 등 현실 세계에서 흔히 찾아볼 수 있는 대상을 추상화(Abstraction) 하여 프로그램 상에서 만들어낸 결과물이다. 예를 들어 자동차를 만들어야 한다면, 자동차의 각 부품들을 별개로 제작한 다음 필요한 부품을 조립하는 방식으로 자동차를 완성해 나가는 것이 객체지향 프로그래밍 방식이라고 볼 수 있다. 객체지향 프로그래밍의 기술적 특징은 아래 4가지와 같으며, 이 기술들을 이용하여 프로그램을 구현하는 것이 객체지향 프로그래밍이다. 추상화 (Abstraction) : 여러 객체들..
tring : char[] 참조타입 중 유일하게 기본타입의 특징을 가지고 있다. StringPool : 기본타입으로 만들었을 때 heap 영역에 있는 StringPool에 literal 이 생성돼 값이 둥둥 떠다닌다. immutable : String 값 수정시 그 값 자체가 변경되는 것이 아니라 새로운 값이 생성되고, 그 값으로 참조를 바꿈 String Concatenation : 어떠한 타입도 문자열을 만나면 문자열 타입으로 바뀐다. 코드를 통해 String 타입의 사용법을 살펴보겠다. package com.test01; public class MTest { static String str = "The String class represents character strings."; public sta..
- Total
- Today
- Yesterday
- jdbc
- INSERT
- Scott/Tiger
- java 환경설정
- 상속
- JDBC 프로그램 작성단계
- 캡슐화
- Oracle
- 객체지향
- 객체
- Update
- java
- .
- model
- controller
- view
- ojdbc6.jar
- JdbcTemplate
- MVC
- 추상화
- select
- OOP
- Delete
- 다형성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |