April 23, 2022
01.객체와 클래스 차이점
02.자바 기본형과 Wrapper 클래스 차이점
03.자바 컬렉션 종류와 차이점
04.Equals VS == 연산자 차이점
05.추상화란?
06.추상 클래스란?
06.1추상 클래스의 용도
07.인터페이스란?
08.추상클래스 VS 인터페이스 차이점
09.String, StringBuffer, StringBuilder 차이점과 장단점
String
StringBuffer와 String Builder
클래스는 객체를 생성하기 위한 설계도 또는 툴
객체는 설계도 또는 툴로 찍어낸 실체
객체를 클래스의 인스턴스라고 부름
Wrapper 클래스
List: 중복 허용, 순서 유지
Vector: List 인터페이스를 구현한 클래스
성능이 많이 떨어짐, 쓸일이 별로 없어짐
ArrayList: Vector클래스와 거의 동일
LikedList: List인터페이스를 구현한 클래스
== 연산자: 객체의 주소값을 비교
String s1 = "abc";
String s2 = new String("abc");
s1 == s2;
추상화를 하게 되면 목적을 위해 필요한 부분만을 찾을 수 있음
추상 메소드 를 포함하는 클래스
추상 클래스를 상속받은 서브클래스는 개발자에 따라 다양하게 구현
추상 클래스를 책의 목차로 비유하면,
추상 클래스로 기본 방향을 잡아놓고 서브 클래스에서 구현하면 구현 작업이 쉬워짐
인터페이스는 규격과 같은것
인터페이스 구현 :
인터페이스 사용하는 이유? :
추상 클래스 | 인터페이스 |
---|---|
일반 메소드 포함 가능 | 모든 메소드가 추상 메소드 |
상수 필드만 포함 가능 | 상수, 변수 필드 포함 가능 |
모든 서브 클래스에 공통된 메소드가 있는 경우에는 추상 클래스가 적합 | 다중 상속 지원 |
문자열, 숫자, char등은 concat시 stringBuffer, stringBuilder를 사용할 수 있음
Stirng 객체는 한번 생성되면 할당된 메모리 공간이 변하지 않음
새로운 String객체를 만든 후, 새 String 객체에 연결된 문자열을 저장하고, 그 객체를 참조
StringBuffer와 StringBuilder의 차이
정리
성능만 따지고 본 경우
stringBuffer vs String
Heap 영역