JAVA
-
ArrayListJAVA 2022. 6. 26. 18:36
ArrayList를 설명하기에 앞서, 필요한 사전지식을 매우 간단하게 설명하겠다. 자바에는 컬렉션 프레임웍(Collection Framework)라는것이 존재한다. 컬렉션 프레임 웍 이란 ' 데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. (간단하게 생각하자면 다양한 데이터 타입들을 다루기 쉽게 하기위해 제공하는 클래스들? 이라고 생각한다.) 이러한 컬렉션 프레임웍엔 3 가지의 컬렉션 데이터 그룹이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3가지의 인터페이스가 정의되어있다. 1. List 2. Set 3. Map 그 중에서 List의 ArrayList가 오늘 정리할 내용이다. List 인터페이스 List인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현 하는데 ..
-
[JAVA] iteratorJAVA 2021. 9. 30. 17:22
Iterator란 Collection 인터페이스에 정의된 메서드로 while문을 사용해서 컬렉션의 클래스 요소들을 읽어올수 있다. 주요 메서드 boolean hasNext() 읽어 올 요소가 남아있는지 확인. 있으면 true 없으면 false를 반환한다. object next() 다음 요소를 읽어온다. next() 를 호출하기전 hasNext()를 호출해서 읽어올 요소의 존재여부를 확인하는게 안전하다. void remove() next()로 읽어 온 요소를 삭제한다. (선택적 기능) int i = 0; while(i < 5) { if(!reviews.hasNext()) //존재하는 리뷰가 5개보다 적을때. { System.out.println("---------결과 끝.----------"); retur..
-
[JAVA] ArrayListJAVA 2021. 8. 19. 01:23
ArrayList란? 기존의 Vector를 개선한 것이며, Object 배열을 이용해서 데이터를 순차적으로 저장한다. 배열과 동일하게 인덱스는 0부터 사용하며, 배열과 다른점은 크기를 동적할당 하는것이 가능하다. ArrayList 생성 import java.util.ArrayList; ArrayList lis1 = new ArrayList(); // 자료형을 지정 ArrayList list2 = new ArrayList(); //자료형 생략도 가능 ArrayList list3 = new ArrayList(10); //초기용량 설정 나머지는 코드로 확인해보자 Class Main{ public static void main(String[] args) { ArrayList list1 = new ArrayLis..
-
[JAVA] println, print 차이JAVA 2021. 8. 8. 18:39
System.out.println()은 데이터를 출력한 후 자동으로 다음줄로 넘긴다 즉, 개행문자가 붙어있다(엔터키가 붙어있음). System.out.print()는 줄바꿈을 하지 않는다. public static void main(String[] args) { System.out.println("줄바꿈한다."); System.out.println("줄바꿈한다."); System.out.println("줄바꿈한다."); System.out.println(); System.out.print("이어서 출력한다."); System.out.print("이어서 출력한다."); System.out.print("이어서 출력한다."); } 출력결과
-
인터페이스 (interface)JAVA 2021. 7. 11. 22:57
인터페이스란? 일종의 추상클래스. 추상클래스 처럼 추상메서드를 갖지만 추상화 정도가 더 높고, 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 인터페이스의 작성 interface 인터페이스이름{ public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수목록); } ※인터페이스 멤버들의 제약사항 -모든 멤버변수는 public static final 이어야하며, 이를 생략할 수 있다. -모든 메서드는 public abstract 이어야하며, 이를 생략 할 수 있다.(static메서드와 디폴트 메서드는 예외 : jdk1.8부터)..
-
추상클래스(abstract class)JAVA 2021. 7. 3. 00:50
상속이 자손 클래스를 만드는데 조상 클래스를 사용하는 것이라면, 이와 반대로 추상화는 기존의 클래스의 공통부분을 뽑아내서 조상 클래스를 만드는 것. 추상화 : 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업 구체화 : 상속을 통해 클래스를 구현, 확장하는 작업 추상클래스란? 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도 이다. 추상클래스로 인스턴스 생성을 할 수 없고, 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 추상클래스는 자체로서는 클래스의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서의 의미를 갖는다. abstract class 클래스이름 { ... } 추상메서드란? 메서드는 선언부와 구현부로 구성되어있는데, 추상메서드의 경우 선언부만 ..
-
메소드(함수) 호출 방식 Call by Value & Call by ReferenceJAVA 2021. 6. 18. 17:45
Call by value Class CallByValue{ public static void swap(int x, int y){ int temp = x; x = y; y = temp; } } public static void main(String[] args){ int a = 1; int b = 2; System.out.println("swap() 호출전: a= " +a+ ", b = " + b); // a = 1, b = 2 swap(a,b); System.out.println("swap() 호출 후 : a = " + a + ",b = " + b); //a = 1, b = 2 } 출력결과 값이 바뀌지 않았다. 왜그럴까? main()에서 선언된 각각의 변수 a, b는 메모리의 0x0001 ,0x0005 ..
-
[JAVA]Map.Entry 인터페이스JAVA 2021. 6. 8. 16:44
Map.Entry 인터페이스란? - Map 인터페이스의 내부 인터페이스(inner interface) 이다. - Map에 저장되는 key-value 쌍을 다루기 위해 내부적으로 Entry 인터페이스를 정의해 놓았다. - Map인터페이스를 구현하는 클래스 에서는 Map.Entry 인터페이스도 함께 구현해야 한다. - 맵에 저장되는 엔트리의 조작을 위한 메소드가 정의되어있다. Map.Entry 인터페이스 주요 메서드 메소드 설명 boolean equals(Object o) 동일한 Entry 인지 비교한다. Object getKey() Entry의 key 객체를 반환한다. Object getValue() Entry 의 value 객체를 반환한다. int hashCode() Entry 의 해시코드를 반환한다. ..
-
[JAVA] 자료구조 - HashMAPJAVA 2021. 6. 8. 16:31
Map 의 계층구조 HashMap 이란? Map 은 Collection Framework에 Map으로 나누어진 객체로 Key, Value 형식을 가지고 있다. HashMap 이란 Map의 인터페이스 중 하나로써, key 와 Value 값으로 묶어 데이터를 저장하는 자료구조이다. 사람의 주민번호와 이름으로 예시를 들 수 있다. 주민번호는 동일한 주민번호가 존재할수 없지만, 이름은 동일한 이름이 존재 할 수 있다. 1. key는 중복일 수 없다. 2. key 와 value 중 하나만 존재하지 않는다. 3. Value 는 중복이 가능하다. 예시 Map user = new HashMap(); user.put("1", "june"); user.put("2", "senni"); user.put("3", "yune"..
-
[Java]JDK와 JREJAVA 2021. 5. 30. 13:10
JRE (Java Runtime Environment) JRE는 자바 가상 머신, 자바 클래스 라이브러리 , 자바 명령(Java command) 및 기타 인프라를 포함한 컴파일된 Java 프로그램을 실행하기 위해서 필요한 패키지 포함되어있는 폴더와 파일 bin/ : Java 실행 프로그램이 포함되어있다. JVM을 시작하는 java가 포함됨. conf/ : 사용자가 편집할 수 있는 구성파일 (configuration files) 이 있다. lib/ : lib에는 여러가지 supporting 파일이 있다. 예를들어 일부 .jar 구성파일, 속성파일, 글꼴등 가장 중요한것은 Java 표준 라이브러리의 .class 파일을 포함하는 모듈이 있다. 정해진 수준에서 Java 표준 라이브러리는 네이티브 코드를 호출해야..