'2008/08/14'에 해당되는 글 3건
- 2008.08.14 Chap 6. 그룹함수
- 2008.08.14 Part 5. 자바에서 자주 사용되는 클래스 I Object 클래스
- 2008.08.14 추천서적들
2008. 8. 14. 17:24
Chap 6. 그룹함수
2008. 8. 14. 17:24 in 수업/오라클 + PL/SQL
그룹함수는 전체 데이터를 그룹별로 구분하여 통계적인 결과를 구하기 위해서 사용된다.
count : 행의 개수를 카운트한다.
sum : 해당 열의 총 행의 합을 구한다.
avg : 해당 열의 총 행의 평균을 구한다.
min : 해당 열의 총 행 중 최소값을 구한다.
max : 해당 열의 총 행 중 최대값을 구한다.
group by 절
정의
select 컬럼명
from 테이블명
where 조건 (연산자)
group by 컬럼명;
having 절
group by절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료를 보고자 할때
count : 행의 개수를 카운트한다.
sum : 해당 열의 총 행의 합을 구한다.
avg : 해당 열의 총 행의 평균을 구한다.
min : 해당 열의 총 행 중 최소값을 구한다.
max : 해당 열의 총 행 중 최대값을 구한다.
group by 절
정의
select 컬럼명
from 테이블명
where 조건 (연산자)
group by 컬럼명;
having 절
group by절에 의해 생성된 결과 값 중 원하는 조건에 부합하는 자료를 보고자 할때
'수업 > 오라클 + PL/SQL' 카테고리의 다른 글
Chap3,4 SQLPLUS 명령어 & 연산자 (1) | 2008.08.20 |
---|---|
Chap 2. SQL의 기본 (2) | 2008.08.20 |
Chap 8. 서브쿼리 (0) | 2008.08.20 |
Chap 7. 조인 (1) | 2008.08.18 |
Chap 5. SQL 주요 함수 (0) | 2008.08.13 |
2008. 8. 14. 15:15
Part 5. 자바에서 자주 사용되는 클래스 I Object 클래스
2008. 8. 14. 15:15 in 수업/자바2JDK입문
자바의 모든 클래스는 java.lang.Object 클래스로부터 상속을 받도록 설계되어 있다.
=========================== toSTring() 메서드 사용 예====================
package pack01;
// Object 클래스의 상속을 받기에 Object의 메소드를 가져다 사용할 수 있다.
class Point2D{ // extends Object
}
public class Ex01 {
public static void main(String[] args) {
Point2D pt=new Point2D();
System.out.println(pt); // 레퍼런스변수를 출력
// getClass().getName() + '@' + Integer.toHexString(hashCode())
System.out.println(pt.getClass());
System.out.println(pt.getClass().getName());
System.out.println(pt.hashCode());
System.out.println(Integer.toHexString(pt.hashCode()));
}
}
== toString() 메서드와 equals() 메서드를 동시에 사용하여 비교 하는 예 ==
package pack02;
class Example{
private String name;
private int id;
public Example( ){ }
public Example(String n, int i){
this.name=n;
this.id=i;
}
public String toString(){
String tot="이름 :" + name +","+ "id :" + id;
return tot;
}
public boolean equals(Object obj){
boolean res=false;
if(this==obj){
res=true;
}
if(obj instanceof Example){
Example ex=(Example)obj;
if(this.name.equals(ex.name) && this.id==ex.id)
res=true;
}
return res;
}
}
class ex05_A02 {
public static void main(String[] args) {
Example ex01 = new Example("전원지", 1001);
Example ex02 = new Example("전원지", 1001);
/*Example ex01 = new Example("전원지", 1001);
Example ex02 = new Example("전수빈", 1002);*/
System.out.println(ex01);
System.out.println(ex02);
}
}
===================================================================================
package pack02;
class Point{
int x=10, y=20;
public boolean equals(Object obj){
boolean res=false;
if(this == obj){// 자기가 자기 자신과 비교될 수 있다
res=true;
}
// 오버라이딩이란 Object의 equals랑 동일해야 하기에
// 전달인자가 Object 형이다. Object는 Point의 필드를 사용
// 못하기에 다운 캐스팅해야 한다.
// 다운 캐스팅은 형검사를 2번한다.
// 1. 컴파일시 형검사는 캐스트 연산자 이용
// 2. 런타임시 형검사(예외가 발생) - 막기 위해서는
if(obj instanceof Point){
Point test=(Point)obj;
if(this.x==test.x && this.y==test.y)
res=true;
}
return res;
}
}
public class Ex04 {
public static void main(String[] args) {
Point pt01=new Point();
Point pt02=new Point();
System.out.println(pt01==pt02);
// Object의 equals를 상속 받아 사용하고 있음
// Object의 equals를 상속받지 않고 Point에서 오버라이딩
System.out.println(pt01.equals(pt02));
// 자료구조 : 해쉬테이블(검색을 용이하게 하기 위한)
// 객체를 구분하기 위한 용도로 해쉬코드를 사용하므로 인해서 검색이 빨라
System.out.println(pt01.hashCode());
System.out.println(pt02.hashCode());
}
}
===================================================================================
▶ Object 클래스의 생성자와 메서드
생성자 | |
public Object() |
|
중요 메서드 | |
protected Object clone() |
객체를 복사하는데 사용합니다. |
public boolean equal(Object obj) |
두 객체의 내용이 동일한지 알아볼 때 사용합니다. |
public int hasCode() |
자바에서 객체를 식별하는 정수 값인 해시 코드를 반환합니다. |
protected void finalize() |
객체를 더 이상 사용하지 않을 때 쓰레기 수집기능을 수행합니다. |
public Class getClass() |
객체의 클래스 이름을 Class 형으로 반환합니다. |
public String toString() |
객체의 문자열을 반환합니다. |
public void notify() |
대기 중인 스레드를 하나 다시 시작합니다. |
public void notifyall() |
대기 중인 모든 스레드를 다시 시작합니다. |
public void wait() |
스레드의 작동을 중지하고 대기 상태로 만듭니다. |
=========================== toSTring() 메서드 사용 예====================
package pack01;
// Object 클래스의 상속을 받기에 Object의 메소드를 가져다 사용할 수 있다.
class Point2D{ // extends Object
}
public class Ex01 {
public static void main(String[] args) {
Point2D pt=new Point2D();
System.out.println(pt); // 레퍼런스변수를 출력
// getClass().getName() + '@' + Integer.toHexString(hashCode())
System.out.println(pt.getClass());
System.out.println(pt.getClass().getName());
System.out.println(pt.hashCode());
System.out.println(Integer.toHexString(pt.hashCode()));
}
}
== toString() 메서드와 equals() 메서드를 동시에 사용하여 비교 하는 예 ==
package pack02;
class Example{
private String name;
private int id;
public Example( ){ }
public Example(String n, int i){
this.name=n;
this.id=i;
}
public String toString(){
String tot="이름 :" + name +","+ "id :" + id;
return tot;
}
public boolean equals(Object obj){
boolean res=false;
if(this==obj){
res=true;
}
if(obj instanceof Example){
Example ex=(Example)obj;
if(this.name.equals(ex.name) && this.id==ex.id)
res=true;
}
return res;
}
}
class ex05_A02 {
public static void main(String[] args) {
Example ex01 = new Example("전원지", 1001);
Example ex02 = new Example("전원지", 1001);
/*Example ex01 = new Example("전원지", 1001);
Example ex02 = new Example("전수빈", 1002);*/
System.out.println(ex01);
System.out.println(ex02);
}
}
===================================================================================
package pack02;
class Point{
int x=10, y=20;
public boolean equals(Object obj){
boolean res=false;
if(this == obj){// 자기가 자기 자신과 비교될 수 있다
res=true;
}
// 오버라이딩이란 Object의 equals랑 동일해야 하기에
// 전달인자가 Object 형이다. Object는 Point의 필드를 사용
// 못하기에 다운 캐스팅해야 한다.
// 다운 캐스팅은 형검사를 2번한다.
// 1. 컴파일시 형검사는 캐스트 연산자 이용
// 2. 런타임시 형검사(예외가 발생) - 막기 위해서는
if(obj instanceof Point){
Point test=(Point)obj;
if(this.x==test.x && this.y==test.y)
res=true;
}
return res;
}
}
public class Ex04 {
public static void main(String[] args) {
Point pt01=new Point();
Point pt02=new Point();
System.out.println(pt01==pt02);
// Object의 equals를 상속 받아 사용하고 있음
// Object의 equals를 상속받지 않고 Point에서 오버라이딩
System.out.println(pt01.equals(pt02));
// 자료구조 : 해쉬테이블(검색을 용이하게 하기 위한)
// 객체를 구분하기 위한 용도로 해쉬코드를 사용하므로 인해서 검색이 빨라
System.out.println(pt01.hashCode());
System.out.println(pt02.hashCode());
}
}
===================================================================================
'수업 > 자바2JDK입문' 카테고리의 다른 글
Part 5. 자바에서 자주 사용되는 클래스 III - 문자열 관련 클래스 (0) | 2008.08.19 |
---|---|
Part 5. 자바에서 자주 사용되는 클래스 II - Wrapper 클래스 (0) | 2008.08.19 |
Part 4. 상속 IV 인터페이스 (1) | 2008.08.13 |
Part 4. 상속 III 추상 클래스와 Final (0) | 2008.08.13 |
Part 4. 상속 II 생성자, 레퍼런스 형변환 (2) | 2008.08.11 |
2008. 8. 14. 08:46
추천서적들
2008. 8. 14. 08:46 in 평가,코멘트,하고싶은말
- 출처 : http://andstudy.com/andwiki/wiki.php/%EC%9D%B4%EA%B1%B0%EC%8A%A4%ED%84%B0%EB%94%94%ED%95%A9%EC%8B%9C%EB%8B%A4
- The art of multiprocessor programming
- 프로그래밍 수련법
- MovingSpotlight - Back to the basic
- MovingSpotlight - Back to the basic
- Java 언어로 배우는 디자인 패턴 입문 - 멀티쓰레드 편 - 개정판
- Working Effectively with Legacy Code - TDD 공부를 위한 최고의 책
- POSA 2
- POSA 4
- Domain Driven Design - Evans
- Modern Multithreading
- Programming ERLANG: Software for a Concurrent World
- Pattern Hatching -Design Patterns Applied
- 이산수학
- ACE 프로그래머 가이드 - POSA 2 실습용
- C로 배우는 알고리즘 2 - 이재규
- IT COOKBOOK 쉽게 배우는 알고리즘 : 관계 중심의 사고법
- Algorithms in C++ (3/E) -Parts 1-4
- The Art of Computer Programming Vol.3
- xUnit Test Patterns
- SOA, What & How: A Road to SOA
- IT CookBook 쉽게 배우는 유전 알고리즘: 진화적 접근법
- Professional 소프트웨어 개발
- 애자일 프랙티스
- 실용주의 프로그래머를 위한 단위 테스트 with JUnit
- Xunit Test Patterns: Refactoring Test Code
- 프리팩토링
- 린 소프트웨어 개발, Implementing Lean Software Development 번역판 9월달 출시 예정!
- Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to Ooa&d
번역판입니다!
- 프로그램은 왜 실패하는가?
- 해킹,파괴의 광학(개정판)
- Interface oriented design : with patterns
- UML Distilled
- UML2 & UP 객체 지향 설계
- 운명적 존재를 위한 UML
- 아키텍트 이야기
- Python
- Lua
- Large-Scale C++ Software Design
- 완벽한 컨설팅 Flawless Consulting
'평가,코멘트,하고싶은말' 카테고리의 다른 글
개발자의 연봉에 관한 글 (0) | 2008.09.23 |
---|---|
너네 공부하는 그룹 말이야~ (0) | 2008.08.05 |
글이 안올라오네 ㅋㅋㅋ (0) | 2008.08.02 |
7월17일자 KBS TV 아침마당을 다시보기로 보세요. - 포스팅 진행중 (0) | 2008.07.21 |
훔 글이 없네. (0) | 2008.07.15 |