중요 AVA - 지네릭스(Generics) (1) 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 것이다. 지... 중요Java지네릭스Java AVA - 지네릭스(Generics) (2) 지네릭 클래스 Box가 선언되어 있을 때, 지네릭 클래스 Box의 객체를 생성할 때, 객체별로 다른 타입을 지정하는 것은 적절하다. 지네릭스는 이처럼 인스턴스별로 다르게 동작하도록 하려고 만든 기능이니까. 그러나 모든 객체에 대해 동일하게 동작해야하는 static멤버에 타입 변수 T를 사용할 수 없다. T는 인스턴스변수로 간주되기 때문이다. static멤버는 타입 변수에 지정된 타입, 즉 대... 중요Java지네릭스Java AVA - 지네릭스(Generics) (3) 중요Java지네릭스Java AVA - 컬렉션 프레임웍(Collections Framework) (2) ArrayList는 List인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징이 있다. 만약 배열에 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다. ArraYList를 생성할 때, 저장할 요소의 개수를 고려해서 실제 저장할 개수보다 약간 여유있는 크기로 하는 것이 좋다. 생성할 때 ... List컬렉션프레임웍Java중요Java * JAVA - 다형성(polymorphism) (2) 예2번 틀림 멤버변수가 조상 클래스와 자손 클래스에 중복으로 정의된 경우 조상타입의 참조변수를 사용했을 때는 조상 클래스에 선언된 멤버변수가 사용되고 자손타입의 참조변수를 사용했을 때는 자손 클래스에 선언된 멤버변수가 사용된다. 하지만 중복 정의되지 않은 경우 조상타입의 참조변수를 사용했을 때와 자손타입의 참조변수를 사용했을 때의 차이는 없다. 중복된 경우는 참조변수의 타입에 따라 달리지지만, 중복되지 ... 다형성Java중요Java
AVA - 지네릭스(Generics) (1) 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준 다는 것이다. 지... 중요Java지네릭스Java AVA - 지네릭스(Generics) (2) 지네릭 클래스 Box가 선언되어 있을 때, 지네릭 클래스 Box의 객체를 생성할 때, 객체별로 다른 타입을 지정하는 것은 적절하다. 지네릭스는 이처럼 인스턴스별로 다르게 동작하도록 하려고 만든 기능이니까. 그러나 모든 객체에 대해 동일하게 동작해야하는 static멤버에 타입 변수 T를 사용할 수 없다. T는 인스턴스변수로 간주되기 때문이다. static멤버는 타입 변수에 지정된 타입, 즉 대... 중요Java지네릭스Java AVA - 지네릭스(Generics) (3) 중요Java지네릭스Java AVA - 컬렉션 프레임웍(Collections Framework) (2) ArrayList는 List인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징이 있다. 만약 배열에 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다. ArraYList를 생성할 때, 저장할 요소의 개수를 고려해서 실제 저장할 개수보다 약간 여유있는 크기로 하는 것이 좋다. 생성할 때 ... List컬렉션프레임웍Java중요Java * JAVA - 다형성(polymorphism) (2) 예2번 틀림 멤버변수가 조상 클래스와 자손 클래스에 중복으로 정의된 경우 조상타입의 참조변수를 사용했을 때는 조상 클래스에 선언된 멤버변수가 사용되고 자손타입의 참조변수를 사용했을 때는 자손 클래스에 선언된 멤버변수가 사용된다. 하지만 중복 정의되지 않은 경우 조상타입의 참조변수를 사용했을 때와 자손타입의 참조변수를 사용했을 때의 차이는 없다. 중복된 경우는 참조변수의 타입에 따라 달리지지만, 중복되지 ... 다형성Java중요Java