목록언어 (13)
나의개발일지

Map 인터페이스 // 맵에 지정된 키와 값의 매핑을 추가 put(K key, V value) //지정된 요소 반환 get(Object key); // 주어진 키에 해당하는 매핑을 제거 remoave(Object key); //맵이 지정된 키를 포함하고 있는지 여부를 반환 containsKey(Object key) // 맵에 있는 모든 키-값 쌍을 포함하는 Set을 반환 entrySet(); // 맵에 있는 모든 값들을 포함하는 Collection을 반환합니다. values() 맵의 키를 포함하는 Set을 반환합니다. keySet() 1. HashMap 삽입순서나, 특정 순서를 보당하지 않는다 평균적으로 상당히 빠른 검색 키와 값에 null을 허용 2. LinkedHashMap 삽입 순서를 보장한다. =..

자바 에서 컬렉션(Collection)은 데이터를 저장하고 관리하는 자료 구조를 제공하는 프레임워크이다. 이를 통해 다양한 데이터를 쉽게 다룰 수 있다. List 인터페이스 //추가 add(E element); //지정된 요소 반환 get(int index); //지정된 요소를 제거하거나, 주어진 객체와 일치하는 첫번째 요소 제거 remove(int index); remoave(Object o); //사이즈 반환 size(); // 비어있는 여부 확인 isEmpty(); // 주어진 요소가 리스트에 포함되어 있는지 여부를 반환 contains(Object o); // 리스트 비우기 clear(); // 위치 반환 indexOf(Object o); // 배열로 반환 toArray(); 1. ArrayLis..

다형성이란 하나의 객체가 많은 형(타입)을 가질 수 있는 성질, 하나의 클래스를 다양하게 활용하는 방법 기법 메소드 오버로딩 메소드 오버라이딩 오버로딩/오버라이딩 오버로딩(Overloading) 같은 이름의 메서드를 여러개 정의 하는것 오버로딩 조건 메서드 이름이 동일해야 한다. 매개변수 타입, 개수, 순서가 달라야 한다. 반환 타입은 오버로딩에 영향을 주지 않 cacaodotori.tistory.com 추상 클래스 인터페이스 업캐스팅 업캐스팅이란 자식 타입을 부모 타입으로 형변환 하는 것을 의미한다 class Parent { String office; void work() {...} } class Child extends Parent { String school; void study(){...} } P..

오버로딩(Overloading) 같은 이름의 메서드를 여러개 정의 하는것 오버로딩 조건 메서드 이름이 동일해야 한다. 매개변수 타입, 개수, 순서가 달라야 한다. 반환 타입은 오버로딩에 영향을 주지 않는다. 대표적인 예로는 println() 메서드가 있다 java.lang.Object java.io.OutputStream java.io.FilterOutputStream java.io.PrintStream PrintStream메서드는 위의 상속 구조를 가지고 있다 println 메서드를 사용해 보면 String타입이든, int타입이든, char타입이든, 공백이든지 출력해준다. 이는 오버로딩의 예로 아래의 java.doc를 확인해보면 자세히 알 수 있다. 오버라이딩(Overriding) - 메서드 재정의 조..

자바의 상속은 객체지향 프로그래밍(OOP)의 핵심 개념 중 하나로, 기존의 클래스를 재사용하여 새로운 클래스를 생성하는 메커니즘이다 상속 Object 클래스 모든 클래스의 조상 클래스 별도의 extends 선언이 없는 클래스들은 extends Object가 생략됨 따라서 모든 클래스에는 Object 클래스에 정의된 메서드가 있음 ※ 다형성 파트에서 중요 단일 상속 다중 상속의 경우 여러 클래스의 기능을 물려받을 수 있으나 관계가 매우 복잡해짐 자바는 단일 상속만 지원 대신 interface와 포함 관계(has a)로 단점 극복 상속 예시 // 부모 클래스 (상위 클래스) class Animal { String name; public Animal(String name) { this.name = name; ..

변수는 프로그램에서 데이터를 저장하는 그릇이고 Java의 기본적인 요소이다 타입지정 Java는 정적 타입 언어로, 변수의 데이터 타입을 선언해야 한다. 이는 컴파잉러가 변수의 타입을 미리 알 수 있도록 해준다. 이로써 코드에서 발생할 수 있는 타입 관련 오류를 방지한다 자바의 타입은 8개의 기본형타입과 참조형 타입으로 구분된다 타입 형 타입 논리형 boolean 정수형 byte short int long 실수형 float double 문자형 char ※ String은 기본형이 아닌 문자들의 배열인 문자열이므로 참조형이다. 인스턴스 맴버 변수의 특징 선언 위치 클래스 {} 영역에 선언 public class Person { String name; int age; } 변수의 생성 객체가 만들어질때 heap에..

객체 : 주체가 아닌 것, 주체가 활용하는 것 객체 지향 프로그래밍 : 주변의 많은 것들을 객체화 해서 프로그래밍 하는것 객체 지향 언어의 특징 OOP is A P.I.E Abstraction(추상화) Polymorphism(다형성) Inheritance(상속) Encapsulation(데이터은닉과 보호) 객체지향 프로그래밍의 장점 신뢰성이 높은 프로그래밍이 가능하다. 추가/수정/삭제가 용이하다. 재 사용성이 높다 프로그램의 클래스와 객체 클래스 객체를 정의해 놓은 것 즉 객체의 설계도, 틀 클래스는 직접 사용할 수 없고 객체를 만들기 위한 틀을 제공할 뿐 객체 클래스를 데이터 타입으로 메모리에 생성되어 실제로 동작 객체 생성과 메모리 JVM의 메모리 구조 meta-space stack heap 클래스의..

배열이란 동일한 타입의 데이터를 0개이상을 하나의 연속된 메모리 공간에서 관리하는 것 배열의 생성 생성 new 키워드와 함께 저장하려는 데이터 타입길이 지정 java에서 배열은 고정 크기이다. // 정수형 배열 선언 및 생성 int[] myArray = new int[5]; // 문자열 배열 선언 및 생성 String[] names = new String[3]; 배열 초기화 // 정수 배열 초기화 myArray[0] = 10; myArray[1] = 20; myArray[2] = 30; myArray[3] = 40; myArray[4] = 50; // 문자열 배열 초기화 names[0] = "Alice"; names[1] = "Bob"; names[2] = "Charlie"; 배열의 사용 배열은 inde..

이번 글에서는 출력에 대해 알아본다 출력 OutputStream과 OutputStreamWriter 입력편에서 다룬 InputStream이나 InputStreamReader가 입력을 위한 스트림을 생성하듯이, 이 클래스들은 출력을 위한 스트림을 생성한다는 점만 다르다. OutputStream import java.io.*; class OutputStreamTest { public static void main( String[] args) { // 키보드를 입력 스트림 객체에 할당하고, 콘솔을 출력 스트림 객체에 할당한다. InputStream is = System.in; OutputStream out = System.out; System.out.pritnln("데이터를 입력하세요 : "); try{ //..

데이터를 시스템으로 입력 받거나 시스템에서 데이터를 출력하는 과정 입력 외부에서 데이터나 정보를 가져오는 과정, 키보드, 마우스, 센서, 파일, 네트워크 등 다양한 소스에서 데이터를 입력 받을 수 있다. 자바는 데이터 입출력을 위한 다양한 클래스들을 제공하고 있으며 이 클래스들은 java.io패키지 내에 있다 ※ 스트림(Stream) : 2개의 대상 사이에 데이터를 주고받는 흐름 이번 포스트에서는 코딩테스트에 주로 사용되는 InputStream, InputStreamReader, BufferedInputStream, BufferedReader, Scanner에 대해 작성 하였다. 1. 바이트 기반 입출력 클래스(1 바이트 기반) 2. 문자 기반 입출력 클래스(2 바이트 기반) 1. InputStream,..