자바프로그래밍 실습-기말 프로젝트(텀프로젝트)
- 최초 등록일
- 2024.06.23
- 최종 저작일
- 2023.09
- 13페이지/ 한컴오피스
- 가격 2,000원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
소개글
"자바프로그래밍 실습-기말 프로젝트(텀프로젝트)"에 대한 내용입니다.
목차
1. 서 론
2. 관련 연구
3. 프로그램 설계
4. 프로그램 구현
5. 프로그램의 동작과 결과
6. 결과 분석 및 토의
7. 결론
8. 참고문헌
9. 별첨 (소스코드와 주석)
본문내용
1. 서 론
저는 JAVA를 토대로 GUI를 함께 구현한 채팅 프로그램을 만들어 보았습니다. 클라이언트 클래스와 핸들러 클래스 그리고 서버 클래스 즉 3가지 클래스가 각각 따로 한 개의 JAVA 프로그램에 들어가며 실행시키면 각각의 채팅들이 1대1 채팅 또는 1대2, 1대3으로 등 다중 채팅도 가능한 프로그램입니다. 채팅을 시작하기 위해 서버 아이디와 포트 그리고 상대방 아이디를 입력하여 채팅을 주고받을 수 있습니다.
2. 관련 연구
<Vector 클래스란>
자바의 배열은 고정 길이를 사용한다. 즉, 배열이 한 번 생성되면 배열의 길이를 증가하거나 감소할 수 없다. Vector는 서로 다른 타입을 가지는 참조형 데이터를 저장하는 가변 길이의 배열이다. Vector에는 기본형 데이터를 저장할 수 없다. 정수나 실수 형태 같은 기본 데이터형을 저장하기 위해서는 기본형 데이터를 Wrapper 클래스 타입의 객체로 생성해야 한다.
Vector 클래스의 생성자
설명
Vector()
10개의 데이터를 저장할 수 있는 길이의 객체를 생성한다.
저장 공간이 부족한 경우 10개씩 증가한다.
Vector(int size)
size 개의 데이터를 저장할 수 있는 길이의 객체를 생성한다.
저장공간이 부족할 경우 size개씩 증가한다.
Vector(int size, int incr)
size 개의 데이터를 저장할 수 있는 길이의 객체를 생성한다.
저장 공간이 부족한 경우 incr 개씩 증가한다.
<싱크로나이즈(synchronized)란?>
자바에서는 스레드를 동기화 하기 위해서 synchronized를 제공한다. 여기서 스레드는 synchronized 메소드에 들어가기 위해 락(lock)을 얻고 메소드가 끝이 나면 락을 반환한다. 어떠한 스레드가 락을 얻어 synchronized 메소드를 사용중이면 다른 메소드는 락이 없으므로 synchronized에 접근할 수 없고, 다른 스레드가 락을 반환 할 때까지 기다려야 한다.
예를 들어 설명하면 synchronized 메소드를 어떤 가게의 창고에 비교하고 락을 창고 열쇠로 비교하겠다.
참고 자료
황기태, 김효수, “명품 JAVA Programming”, 생능출판사
Java API, http://docs.oracle.com/javase/7/docs/api/
http://www.dsun.kr/8