Java
-
ArrayListJAVA 2022. 6. 26. 18:36
ArrayList를 설명하기에 앞서, 필요한 사전지식을 매우 간단하게 설명하겠다. 자바에는 컬렉션 프레임웍(Collection Framework)라는것이 존재한다. 컬렉션 프레임 웍 이란 ' 데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. (간단하게 생각하자면 다양한 데이터 타입들을 다루기 쉽게 하기위해 제공하는 클래스들? 이라고 생각한다.) 이러한 컬렉션 프레임웍엔 3 가지의 컬렉션 데이터 그룹이 존재한다고 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3가지의 인터페이스가 정의되어있다. 1. List 2. Set 3. Map 그 중에서 List의 ArrayList가 오늘 정리할 내용이다. List 인터페이스 List인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현 하는데 ..
-
객체 지향(Object-Oriented)컴퓨터 사이언스 2021. 10. 30. 21:49
객체지향에 관련된 서적을 읽다가 문득 든 생각 과연 나는 체계적인 로직을 세우고 설계원칙을 중요하게 생각했는가? 솔직하게 고백하자면 그러지 못했던것 같다. 단순히 기능이 정상적으로 동작하는가에 초점을 맞추고 개발을 해왔던것 같다. 이 기회에 반성하며 객체지향에 관한 개념을 다시 정리하려고 한다. 객체 지향의 개요? 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있는 기법! 덕분에 복잡한 구조를 단계적, 계층적으로 표현 하고 인간친화적인 방식으로서 이해하기 쉽다. 또한 재사용 및 확장이 용이하여 빠른 개발과 유지보수가 쉽다는 이점이 있다. 많이들 붕어빵 틀을 예제로 사용하시는데, 생각해보면 붕어..
-
[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("이어서 출력한다."); } 출력결과
-
추상클래스(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]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 표준 라이브러리는 네이티브 코드를 호출해야..
-
Java Map 컬렉션(Collection) 개념JAVA 2021. 5. 26. 22:03
Map 컬렉션 개념 Map 컬렉션은 키(Key) 와 값(value) 으로 구성된 Entry 객체를 저장하는 구조를 가진다. 키와 값은 모두 객체이며, 키는 중복될 수 없다 만약 동일한 키를 가지고 있는 Entry 객체를 Map 컬렉션에 저장하면, 기존의 값은 사라지고 새로운 값이 저장된다. Map 컬렉션 기능 및 종류 HashMap, HashTable, LinkedHashMap, Properties, TreeMap 등이 있다.. Map 컬렉션에서 공통적으로 사용가능한 Map 인터페이스의 메서드 V put(K key, V value) : 매개변수로 주어진 키와 값을 추가하며, 저장되면 값을 반환한다. boolean containsKey(Object key) : 매개변수로 주어진 키가 Map 컬렉션에 존재하..