수업시간 중 ArrayList를 선언할때 ArrayList = new ArrayList로 선언하지 않고 List= new ArrayList 해서 많이 쓴다. 왜 ArrayList = new ArrayList로 선언하지 않고 List= new ArrayList 로 선언해서 쓰는 걸까? 굳이 왜 ArrayList를 업캐스팅해서 선언하는 걸까? 이런 형태로 쓰는 건 ArrayList와 같은 구현체 클래스가 아닌, List라는 인터페이스로 선언하여 사용하는데 이는 List를 이용해 다형성을 유지하기 위해서이다. JAVA는 객체지향언어로 다형성이 보장되고 보다 유연하게 이용할 수 있다는 특징을 가진다. ArrayList를 업캐스트해서 선언하는 행위는 이러한 JAVA의 객체지향언어의 특징을 잘 나타낸 것이라고 볼 ..