본문 바로가기

자바24

[Java] Collections Interface 구현 Class 설명 List LinkedLIst Stack ArrayList 순서 ( O ) 중복 ( O ) Set HashSet TreeSet 순서 ( X ) 중복 ( X ) Queue LinkedList PriorityQueue 순서 ( O ) 중복 ( O ) Map HashTable HashMap TreeMap Key, Value 쌍, 순서 ( X ) Key 중복 ( X ), Value 중복 ( O ) List List는 인터페이스로 이를 구현한 클래스는 인덱스를 이용해서 데이터를 관리한다 특징 인덱스를 이용한다 데이터 중복이 가능하다 public static void main(String[] args) { // ArrayList 객체 생성 ArrayList list = new .. 2020. 7. 3.
[Java] 문자열 클래스(String, StringBuilder, StringBuffer) String 객체와 메모리 문자열을 다루는 String 클래스(객체)는 데이터가 변하면 메모리 상의 변화가 많아 속도가 느리다 String str = "JAVA"; str = str + "_8"; 문자열이 변경되면 기존의 객체를 버리고, 새로운 객체를 메모리에 생성된다 이때, 기존 객체는 GC에 의해서 메모리 회수가 이루어진다. 결과적으로 메모리의 효율성면에서 떨어진다고 볼 수 있다 클래스에서 객체를 생성할 때 new를 사용하지만, String은 기본 자료형처럼 간단하게 쓸 수 있다는 장점이 있다 StringBuffer, StringBuilder String 클래스의 단점을 보완한 클래스로 데이터가 변경되면 메모리에서 기존 객체를 재활용한다 StringBuffer sf = new StringBuffer(.. 2020. 7. 3.
[Java] Lambda 람다식 기존의 객체 지향이 아닌 함수 지향 프로그래밍 방법 람다식이란? 익명 함수(Anonymous Function)를 이용해서 익명 객체를 생성하기 위한 식 [ 기존 방법 ] InterfaceType 변수 --- 할당(대입) ---> Interface 구현 [ 람다식 방법 ] InterfaceType 변수 --- 할당(대입) ---> Lambda Expressions 람다식 구현 1. 매개변수와 실행문만으로 작성한다(접근자, 반환형, return 키워드 생략) public interface LambdaInterface { public void method(String s1, String s2, String s3); } public static void main(String[] args) { LambdaInte.. 2020. 7. 3.
[Java] 인터페이스와 추상클래스 인터페이스란? - 추상화의 꽃, 추상 method들의 집합 클래스와 달리 객체를 생성할 수 없으며, 클래스에서 구현해야 하는 작업 명세서 반드시 interface에 있는 abstract method를 상속받은 클래스에서 구현해야 한다 인터페이스를 사용하는 이유 인터페이스를 사용하는 이유는 많지만, 가장 큰 이유는 객체가 다양한 자료형(타입)을 가질 수 있기 때문이다 인터페이스 구현 public interface InterfaceA { public void funA(); } public interface InterfaceB { public void funB(); } public class MainClass { public static void main(String[] args) { InterfaceA ia.. 2020. 7. 3.