전체 글

배우는 과정..
· JAVA
Set ( 인터페이스 ) 집합을 표현한 인터페이스, 자식 클래스 위에 표기 자식 클래스들 HashSet LinkedHashSet TreeSet 등 ( 특징 ) List vs Set 구분 순서(인덱스) 중복 Set 없음 허용되지 않음 List 있음 허용됨
· JAVA
LinkedList ( 특징 ) ( 1 ) LinkedList vs ArrayList 구분 순차 추가 / 삭제 중간에 추가 / 삭제 ArrayList 빠름 느림 LinkedList 느림 빠름 ( 참조 ) 반복문으로 10000 까지 인덱스 0에 계속해서 값을 넣었을때 ( = 중간에 추가 ) 시간 단위 ( : System.nanoTime() ) 정의 List list = new LinkedList(); 나머지 List 함수들은 ArrayList 또는 Vector 참조 https://tinylittlelife.tistory.com/124
· JAVA
Vector ( 특징 ) ( 1 ) 멀티 쓰레드 환경에서 사용하는 자료구조 ( 2 ) 병렬처리 장점 : 속도 향상 단점 : 코딩 복잡도 증가 , 동기화 문제 등 ( 3 ) ArrayList 와 Vector 의 속도 비교 (일반적인 환경) ArrayList > Vector 정의 다형성 사용 List 객체변수 = new Vector(); 대표적인 함수들 add() 함수 추가 객체변수.add( Object ) get() 함수 가져오기 객체변수.get( index ) set() 함수 수정하기 객체변수.set( index , Object ) remove() 함수 삭제하기 객체변수.remove( Object ) 객체변수.remove( index )
· JAVA
toString() ( 특징 ) ( 1 ) 재정의 해놓으면 좋음 ... ㅋ..? ( 2 ) 편의성 List 변수를 system.out.prinln 할때 정의 해놓으면 실행 결과를 편의성 있게 볼수 있음 오버라이딩 Intelli J 자동 생성 @Override public String toString() { return "Board{" + "subject='" + subject + '\'' + ", content='" + content + '\'' + ", writer='" + writer + '\'' + '}'; }
· JAVA
.hashCode ♠\ 참조 /♠ ( 특징 ) ( 1 ) 객체를 식별하는 유일한 정수값 ( 번호 중복 없음 ) ( 2 ) HashMap , HashSet 자료구조에서 내부적으로 해쉬코드를 사용함 ( 객체들을 비교할때 사용 ) ( 3 ) 기본 hashCode는 객체간의 비교에서 오류를 일으키므로 재정의 필요 오버라이딩 2개의 객체를 생성해서 비교시 id 속성의 해쉬코드가 2개 모두 같아짐 public class Member { // Attribute public String id; public Member(String id) { this.id = id; } @Override public int hashCode() { return Objects.hash(id); // 객체 비교 (속성을 비교) }..
· JAVA
.equals() ♠\ 참조 /♠ ( 특징 ) ( 1 ) 두 개의 객체가 같다라는 의미는 속성이 같다라는 의미임 ( 2 ) String 객체에서의 비교는? .equals() 함수가 재정의되어 있음 따라서 Object 객체를 재정의하여 사용하자! 오버라이딩 intelli J 에서 자동 생성해줌 public class Member { public String id; public Member(String id) { this.id = id; } // 여기 부분 @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Member)) return false; Member member = (Membe..
· JAVA
Object 클래스 자바 언어의 최고 조상 객체 대표 함수 .equals() .hasCode() .toString() 등 따라서 자바의 모든 객체(클래스)는 Object 클래스를 상속받고 있다 단, extends 키워드는 없어도 상속이 되어 있음
· JAVA
♠\ 참조 /♠ 제네릭 객체안의 자료의 타입(자료형)을 제한할 목적으로 사용함 ArrayList 정의 List 변수명 = new ArrayList(); // 또는 ArrayList 변수명 = new ArrayList(); add() 함수 객체변수.add(값) // 또는 인덱스 안에 넣기 객체변수.add(index , 값) ♠\ 참조 /♠ (특징 ) ( 1 ) 변수명.add( index , 값 ) 인덱스 위치에 값을 추가 따라서 원래 index 있던 값은 index + 1 에 값이 들어감 size() 함수 배열의 크기를 가져옴 객체변수.size() get() 함수 저장된 데이터 가져오기 객체변수.get(index) set() 함수 자료 수정하기 객체변수.set(index ,..
· JAVA
List List 1. 배열을 개선한 자료구조 2. 크기가 자동 증가함 ArrayList LinkedList Vector ArrayList 1. 순자적으로 추가 / 삭제시 속도가 빠름 2. 중간에 추가 / 삭제시 속도 저하 LinkedList 1. 중간에 추가 / 삭제시 속도 향상 (주소값을 참조 하기 때문) 2. 순차적일때 속도 저하 Vector 멀티 쓰레드 환경에서 사용하는 자료구조
· JAVA
인터페이스 정의 public interface 인터페이스명 { } 속성(Attribute) 정적(공유) 상수 명명법 : 모두 대문자 자료형 변수(대문자) 함수(Method) 추상함수(실행불럭 {} 없음) abstract (추상) 생략 가능 접근제한자 리턴자료형 함수명(); 상속 클래스 다중 상속 가능 public class 클래스명 implements 인터페이스명1 , 인터페이스명2 ... { // 함수 재정의 필요 함수 재정의!! 필수 } 다형성 이용 가능 인터페이스자료형 객체명 = new 자식클래스() ♠\ 참조 /♠ ( 특징 ) (1) 속성(Attribute) 1) 정적(공유) 상수이다. 명명법 : 모두 대문자 (2) 함수(Method) 1) 추상함수(실행불럭 {} 없음) 2) abstract (추..
· JAVA
추상클래스 정의 // 추상 클래스 (부모) public abstract class 클래스명 { Method1 , Method2 , ...} // 자식 클래스 (자식) public class 클래스명 extends 부모클래스명 {} main 클래스 사용법 // 메인 클래스 public static void main(String args) { 자식자료형 자식객체 = new 자식자료형(); 자식객체.Method1 자식객체.Method2 } ♠\ 참조 /♠ ( 특징 ) (1) 자식클래스를 만들어서 상속 받아 사용해야한다. ( 목적 ) 프로젝트에서 개발자가 많을때 함수이름과 속성 이름을 통일 시킬 목적으로 사용 추상메서드 정의 // 추상 클래스 (부모) public abstract class..
· JAVA
instanceof 란? 객체가 어느 클래스인지 확인하는 용도 사용법 A 객체가 B클래스이니? if(A객체 instanceof B클래스) {}
별이춤추는밤
밤하늘