Java(8)
-
[Java] CentOS 환경에서 Java 설치
yum 업데이트 $ yum update java 설치 JRE와 JDK는 별도의 패키지이다 java-버전-openjdk는 JRE java-버전-openjdk-devel은 JDK JDK안에 JRE가 포함되있으므로 JDK를 받자 JRE 설치 확인 $ java -version $ yum list installed java*openjdk JDK 설치 확인 $ javac -version $ yum list installed java*jdk-devel 설치할 JDK 찾기 $ yum list java*jdk-devel JDK 설치 $ yum install java-X.X.X-openjdk-devel.x86_64 $JAVA_HOME 환경변수 설정 $JAVA_HOME 환경 변수에 사용할 JDK의 경로를 담는다 $JAVA_..
2022.04.19 -
[Java] 제네릭
제네릭(Generics)이란? 제네릭이란 타입을 변수화하고 컴파일 타임에 타입을 체크할 수 있게 해주는 기능입니다.(Compile-time Type Check) 제네릭은 JDK 1.5 버전 이후로 등장했습니다. 아래의 코드처럼 컬렉션에 제네릭으로 지정해놓은 타입이 아닌 객체를 넣으려면 컴파일 에러를 발생시킵니다. ArrayList list = new ArrayList(); list.add(new TV()); list.add(new Audio()); // 컴파일 에러 JDK 1.5 버전 이전까지는 아래와 같이 코드를 작성했는데 치명적인 문제가 있었습니다. ArrayList list = new ArrayList(); list.add(0); list.add(20); list.add("30"); //문자열 넣기..
2021.08.02 -
[Java] 컬렉션 프레임워크 (3)
이번 글에서는 Set, Map, TreeSet/TreeMap, Collections 유틸 클래스에 대해서 다뤄보겠습니다. HashSet Set 인터페이스는 순서가 없고 중복을 허용하지 않는 '집합'의 속성을 띄는 자료구조입니다. 그 중에서 HashSet은 Set 인터페이스를 구현한 대표적인 구현 클래스입니다. HashSet은 중복을 허용하지 않기 때문에 객체를 저장하기 전에 기존의 컬렉션에 같은 객체가 있는지 먼저 확인합니다. add(Object o) 메서드를 호출하면 저장할 객체의 equals()와 hashCode()를 호출하여 중복을 체크합니다. 단, equals()와 hashCode()는 아래의 코드와 같이 오버라이딩되어 있어야 합니다. class Person { String name; int ag..
2021.07.28 -
[Java] 컬렉션 프레임워크 (2)
이번 글은 컬렉션 프레임워크에 관한 두 번째 포스팅입니다. 이번 포스팅에선 컬렉션을 read/write 하기 위한 Iterator, Arrays, Comparator/Comparable에 대해 다뤄보겠습니다. Iterator Iterator는 Collection에 저장된 데이터를 읽을 때 사용하는 표준화된 Interface입니다. 대표 추상 메서드는 hasNext(), next()가 있습니다. Iterator는 인터페이스지만, iterator() 메서드를 호출하면 Iterator 타입의 객체를 생성할 수 있습니다. 단, 1회용이라 한번 쓰고 나면 다시 iterator() 메서드로 다시 생성해야합니다. Iterator를 사용하면 List나 Set같은 Collection 타입의 어떠한 자료 구조라도 동일하고..
2021.07.27 -
[Java] 컬렉션 프레임워크 (1)
남궁성님의 '자바의 정석 기초편' 유튜브 강의를 보고 정리한 내용입니다. https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 자바의 정석 기초편(2020최신) 최고의 자바강좌를 무료로 들을 수 있습니다. 어떤 유료강좌보다도 낫습니다. www.youtube.com 컬렉션 프레임워크에 대해서 세 개의 포스팅으로 나눠서 올릴 예정입니다. 첫 포스팅에선 컬렉션 프레임워크의 전체적인 내용과 List, Stack/Queue 에 대해 다뤄보겠습니다. 컬렉션 프레임워크란? 컬렉션 프레임워크의 '컬렉션'은 여러 객체(데이터)를 모아놓은 것을 말하고, '프레임워크'는 표준화/정형화된 프로그램 방식을 말합니다. 프레임워크를 사용하면 생산성과 유지..
2021.07.26 -
[Java] 추상 클래스와 인터페이스
이번 포스팅에선 추상 클래스와 인터페이스를 다뤄보도록 하겠습니다. 추상 클래스(abstract class) 추상 클래스는 '미완성 설계도'로서, 추상 메서드를 가진 클래스를 말합니다. 추상 클래스를 상속받아 다른 클래스 작성에 도움을 주기 위한 클래스이므로 인스턴스 생성은 불가능합니다. 구현이란 추상 메서드의 구현부를 만드는 행위를 말합니다. 구현 클래스는 추상 클래스를 상속받아서 추상 메서드의 구현부를 완성합니다. 단, 구현 클래스는 추상 클래스의 모든 추상 메서드를 구현해야되며 일부만 구현했다면 class 앞에 abstract 키워드를 붙여야 합니다.(안쓰면 error) 아래의 코드는 starcraft라는 게임의 유닛중 Marine, Tank, DropShip 이라는 세 개의 클래스를 정의한 코드입니..
2021.07.21