Language/Java56 Set 인터페이스 - 자료구현(Collection Framework) Collection 을 상속받는 대표적인 3개의 인터페이스 중 하나인 Set Set 계열 순서를 유지하지 않는 집합 = > 인덱스 번호가 없으므로 특정 위치에 직접 접근 불가능 중복을 허용하지 않음 => 효율적인 중복제거 수단 대표적인 구현체 클래스 = HashSet, TreeSet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // HashSet 인스턴스 생성 => Set 타입으로 업캐스팅도 가능(거의 모든 메서드가 동일하게 있음) Set set = new HashSet(); // 인터페이스의 다형성 = .. 2020. 6. 17. equals(), toString() 1. equals()메서드 -두 객체가 같은지 동등 비교(==) 수행 => 즉, 두 객체의 주소값을 비교하여 같으면 true, 다르면 false 리턴 실제 두 객체가 같다 라는 의미는 두객체의 주소값이 아닌 객체가 가지는 멤버변수가 같다는 의미로 사용 따라서, 사용자가 정의하는 클래스에 equals() 메서드를 오버라이딩하여 각개체의 멤버변수끼리 비교하도록 수정하여 사용함 자바에서 제공하는 대부분의 클래스(API)들은 equals() 메서드가 오버라이딩 되어있다 그러므로 객체 내의 내용 비교가 가능함 ex) String 클래스 equals() 메서드 자동 생성(오버라이딩) 기능을 활용하면 쉽게 구현 가능 (Alt + Shift + S / H) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1.. 2020. 6. 17. 인터페이스(Interface) 인터페이스(Interface) 클래스가 아님 => 선언부에 class 가 아닌 inerface 키워드를 사용 인터페이스가 가질수 있는 요소는 1) 상수 (public static final) 2) 추상메서드(pbulic abstract) => 생성자나 그 외의 것들은 가질수 없음 객체 생성이 불가능 => 대신, 참조형 타입으로 사용 가능하며, 다형성 활용 가능 서브클래스에서 인터페이스를 상속받을 때는 extends 가 아닌 implements 키워드 사용 다중 상속(구현)이 가능하다 인터페이스끼리 상속할 경우 extends 키워드를 사용하며, 다중 상속 가능 강제성 및 통일성 제공(추상메서드보다 강력한 강제성을 부여) [접근제한자] interface 인터페이스명 { //.. 2020. 6. 11. 상수 상수 정상수 부산진구 유명가수 변하지 않는 데이터(변수) 보통 클래스 내에서는 상수를 선언할 때 public sstatic final 형태로 선언 1) public : 어느 클래스에서나 접근 가능 2) static : 클래스 로딩 시 함께 로딩되어 인스턴스 생성과 무관함 => 클래스명만으로 접근가능하며, 모든 인스턴스 변수 데이터 공유 3) final : 데이터 변경 불가 = 상수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 // 특정 클래스 내에서 사용되는 데이터를 상수로 제공하면 // 문자열의 오타나 정수형.. 2020. 6. 11. final 키워드 final 키워드 변경의 마지막이라는 의미를 부여함 클래스, 메섣, 변수에 사용 가능 1) final 변수 : 값 변경 금지 = 저장되어 있는 값만 사용 가능 = 상수 => 일반 변수와 구별하기 위해 이름을 보통 대문자 사용(MAX_NUM) 2) final 메서드 : 메서드 변경 금지 = 메서드 오버라이딩 금지 => 단, 상속받아 사용은 가능 3) final 클래스 : 클래스 변경 금지 = 상속 금지 => 단, 인스턴스 생성을 통해 사용은 가능 ex) String 클래스, Math 클래스(인스턴스 생성 불가) 등 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 .. 2020. 6. 11. 추상메서드(abstract method) 추상메서드 메서드 바디(=구현부 {})가 없는 메서드 // 바디가 없다 = 호출할 수 없는 메서드 메서드 리턴타입 앞에 abstract 키워드를 사용하며 구현부{} 대신 세미콜론(;) 명시 메서드의 실행할 코드 부분인 구현부가 없으므로 외부에서 호출되면 안되는 메서드 [제한자] abstract 리턴타입 메서드명(파라미터,....); 추상클래스(abstract class) 객체 생성이 불가능한 클래스(=미 완성 클래스) 추상메서드가 호출되면 안되기 때문에 인스턴스 생성을 못하도록 차단 추상메서드를 포함하는 클래스는 반드시 추상클래스로 정의되어야 함 단, 모든 추상 클래스가 추상메서드를 포함하는것은 아니다 추상클래스는 추상메서드, 일반메섣, 생성자, 인스턴스 변수 등을 가질.. 2020. 6. 11. 이전 1 2 3 4 5 6 7 ··· 10 다음