자바로 구현한 스택(Stack)
- 최초 등록일
- 2003.06.09
- 최종 저작일
- 2003.06
- 5페이지/ 실행파일
- 가격 1,000원
소개글
- Stack Abstraction
- Javac.exe, java.exe 등의 명령어 사용
- 제어문 활용
- Object 배열의 활용
- 패키지 선언, 구성
- 예약어 사용
- abstract class의 상속, 오버로딩, 접근제어자등의 이해를 위한 Term Project 입니다.
OBJECT 배열을 이용항 STACK 구현한 풀소스와 컴파일된 클래스 포함.
목차
1. 프로젝트 개요, 선행조사
2. 주요부분 상세 설명
3. 개발후기
본문내용
1. 프로젝트 개요 및 선행 조사
“Stack” 이라는 자료구조(Data Structure)에 대해 이해하고, Stack이라는 Abstraction을 실제 프로그래밍 해봄으로써, Programming 기초 전반에 걸친 지식, 기법 등을 정리하고, 보다 폭 넓은 이해와 경험을 얻는다.
먼저 선행 조사항목으로 Stack 이 무엇인지 알아야 할 필요가 있다.
• Stack 이란?
1. “쌓아놓은 더미”라는 의미
2. LIFO(Last In First Out)
3. 나중에 Stack 안에 들어온 데이터가 먼저 나가게 되는 형식의 Abstraction.
4. 기억 장소의 어느 한쪽 방향으로만 데이터의 삽입, 삭제가 일어난다.
• Stack의 구성요소
- 저장공간
- 스택 포인터
- 스택 오퍼레이션(push,pop,peek,search,empty)
Stack 동작 방식의 이해외에 기본적인 오브젝트형 배열 선언, 패키지 이용, import, Static, 상수등에 관한 부분과 추상클래스 및 인터페이스를 상속받는 하위클래스를 만드는 방법까지 선수학습이 필요했다.
강의 Q/A 란과 학습토론란에서 많은 도움을 얻었으며 자바누리(http://www.javanuri.com) 에서도 큰 도움을 얻었다.
2. 주요부분 상세 설명
private final int MAX_ARRAY_SIZE = 10; // 스택의 크기를 설정할 상수
Object saveStack[] = new Object[MAX_ARRAY_SIZE]; // 스택역할의 배열을 설정한다.
배열크기를 상수로 설정하여 가독성을 높였고, 수정이 불가능하도록 했다.
public void push(Object item){ // Object 데이터를 삽입할 메소드
Object 데이터를 Stack의 현재 포인터값이 가르키는곳에 저장하며 그전에 if문을 이용하여 Stack이 가득찼는지를 검사한다. 가득 찼을경우에 데이터를 삽입하려고 한다면 배열범위를 초과하게 되어 오류가 발생하게 되므로 이를 대비한것이다. 데이터 삽입후 포인터값을 1 증가시킨다.
참고 자료
없음