
스택이란 한 쪽으로만 데이터를 넣고 뺄 수 있는 후입선출(Last In First Out, LIFO) 형식을 가진 자료구조이다.
push(data): 스택의 가장 윗부분에 데이터를 추가한다.
pop(): 스택에서 가장 위에 있는 데이터를 제거한다. (삭제된 데이터 반환)
peek(): 스택의 가장 위에 있는 데이터를 반환한다. (삭제 X)
isEmpty(): 스택이 빈 경우 true, 그렇지 않은 경우 false를 반환한다.
큰 차이로는 push()는 stack에서 제공하는 메소드이고, add()는 컬렉션 프레임워크의 List 인터페이스에서 상속받은 메소드로, push()는 <E>를 반환하고, add()는 boolean을 반환한다.
push는 스택에 데이터를 추가할 때 사용하는 메소드이다. 스택의 맨 위에 새로운 데이터를 추가하며, 이 과정에서 스택의 크기가 자동으로 늘어나게된다.
add는 컬렉션(Collection) 인터페이스에서 사용하는 메소드이다. 스택도 Collection 인터페이스를 구현하고 있으므로, 스택에서도 add 메소드를 사용할 수 있다.