Java 기준 공통점

  • 둘 다 List 클래스를 부모로 두고 있으며 내부적으로 돌아가는 기능은 같다 (따라서 List로 선언하고 상황에 따라 업캐스팅 또한 가능하다.)
  • 둘 다 구체화한 템플릿의 클래스 타입의 데이터를 레퍼런스(주소값) 형태로 차례대로 보관한다.

Java 기준 차이점

  • Vector의 경우는 멀티 스레드 환경에서의 충돌을 방지하는 기능(스레드 간의 동기화)을 내부적으로 가지고 있다. (멀티 스레드 환경에서 적합)
  • ArrayListVector와 달리 충돌 방지 기능(스레드 간의 동기화)을 가지고 있지는 않지만 그 만큼 Vector에 비해 하는 작업이 적어 자원을 상대적으로 덜 소모시킨다. (싱글 스레드 환경에 적합)

연계되는 예상 질문

  • 싱글 스레드 환경에서 VectorArrayList 중에서 어떤 클래스가 더 효율적인가?   

'CS > Interview' 카테고리의 다른 글

Struct 와 Class의 차이점은 무엇인가?  (0) 2022.12.29

C++ 기준 유일한 차이점은 

  • Struct는 디폴트 지정자(한정자)가 public 이고
  • Class는 디폴트 지정자(한정자)가 private 이다.

조심해야 될 점: C++ 기준 Struct도 상속이 가능하며 메소드 Struct를 가지는 것 또한 가능하다.

 

Swift 기준으로는 차이점이 많이 달라지는데 다음과 같다.

  • Struct는 Value-Type, Class는 Reference-Type
  • Struct는 상속이 불가하며 Class는 상속이 가능하다

참고하면 좋은 글: https://terry-some.tistory.com/75

 

'CS > Interview' 카테고리의 다른 글

Vector와 ArrayList 비교  (0) 2022.12.29

+ Recent posts