Java

· Java
보호되어 있는 글입니다.
· Java
보호되어 있는 글입니다.
· Java
정렬 순서를 가지는 Collection들만 정렬 가능 - List 계열 - Set에서는 SortedSet의 자식 객체 - Map에서는 SortedMap의 자식 객체(key 기준) Coleections의 sort()를 이용한 정렬 List names = Arrays.asList("Hi", "Java", "World", "Welcome"); Collections.sort(names); System.out.println(names); [Hi, Java, Welcome, World] Comparable 인터페이스 implements / String 클래스의 compareTo 메서드를 override하여 사용하는 정렬 public class SmartPhone implements Comparable{ // Com..
· Java
Map Key와 Value를 하나의 Entry로 묶어서 데이터 관리 Key: Object 형태, 중복 X Value: Object 형태, 중복 O 주로 사용하는 Map은 HashMap이며, 정렬을 해야 할땐 TreeMap을 사용한다. 조회 관련 주요 메서드 containsKey(Object key), containsValue(Object value) 키, 값이 들어있는지 확인 후 boolean 반환 entrySet() 행 하나하나를 Set 객체에 담아 return keySet() Key 값들만 Set에 담아서 return
· Java
보호되어 있는 글입니다.
· Java
보호되어 있는 글입니다.
· Java
다형성 하나의 객체가 많은 형(타입)을 가질 수 있는 성질 다형성의 정의 - 상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다. 조상을 파라미터로 처리한다면 객체의 타입에 따라 메서드를 만들 필요가 없어진다. 참조형 객체의 형 변환 - 작은 집(child)에서 큰 집(super)으로 -> 묵시적 캐스팅 byte b = 10; int i = b; Phone phone = new Phone(); Object obj = phone; - 자손 타입의 객체를 조상 타입으로 참조 : 형변환 생략 가능 - 왜냐면 조상의 모든 내용이 자식에 있기 때문에 걱정할 필요가 없다. - 큰 집(super)에서 작은 집(child)으로 -> 명시적 캐스팅 int i = 10; byte b = ..
· Java
객체의 생성을 제한해야 한다면? - 여러개의 객체가 필요 없는 경우 - 객체를 구별할 필요가 없는 경우 = 수정 가능한 멤버 변수가 없고 기능만 있는 경우 - 이런 객체를 stateless 한 객체라고 한다. - 객체를 계속 생성/삭제 하는데 많은 비용이 들어서 재사용이 유리한 경우 Singleton 디자인 패턴 - 외부에서 생성자에 접근 금지 -> 생성자의 접근 제한자를 private로 설정 - 내부에서는 private에 접근 가능하므로 직접 객체 생성 -> 멤버 변수이므로 private 설정 - 외부에서 private member에 접근 가능한 getter 생성 -> setter는 불필요 - 객체 없이 외부에서 접근할 수 있도록 getter와 변수에 static 추가 외부에서는 언제나 getter를 ..
· Java
메서드 오버라이딩 오버라이딩의 조건 - 메서드 이름이 같아야한다. - 매개 변수의 개수, 타입, 순서가 같아야 한다. - 리턴 타입이 같아야 한다. - 접근 제한자는 부모 보다 범위가 넓거나 같아야 한다. - 조상보다 더 큰 예외를 던질 수 없다. 오버라이딩과 오버로딩의 차이 - 오버라이딩은 덮어쓰기 - 오버로딩은 추가 적재 예제 : https://private.tistory.com/25 Annotation - 컴파일러, JVM, 프레임워크 등이 보는 주석 - 소스코드에 메타 데이터를 삽입하는 형태 @Deprecated - 컴파일러에게 해당 메서드가 deprecated 되었다고 알려줌 @Override - 컴파일러에게 해당 메서드는 override한 메서드 임을 알려줌 - @Override가 선언된 경우..
· Java
상속 상속관계는 is a 관계 - Person is a Object, Employee is a Person 단일상속 - 다중 상속의 경우 여러 클래스의 기능을 물려받을 수 있으나 관계가 매우 복잡해짐 - 자바에서는 단일 상속만 지원한다 (대신 interface와 포함 관계(has a)로 단점을 극복) 포함관계 상속 이외에 클래스를 재활용 하는 방법 2개 이상의 클래스에서 특성을 가져올 때 하나는 상속, 나머지는 멤버 변수로 처리 public class Sman extends Person { Spider spider; // Spider 객체를 선언 boolean isSpider; void fireWeb() { if(isSpider){ spider.fireWeb(); } else{ System.out.pri..
Sungwoo Koo
'Java' 카테고리의 글 목록