랑아
article thumbnail
Java 컬렉션 - 2
Java 2023. 4. 16. 16:55

Java 컬렉션 Java의 컬렉션 프레임워크 컬렉션 프레임워크 여러 데이터들을 그룹으로 묶어놓은 것을 컬렉션이라 하며 컬렉션 크레임워크는 컬렉션을 다루는데 편리한 메서드를 미리 정의한 것 특정 자료 구조에 데이터를 추가, 삭제, 수정, 검색 등의 동작을 수행하는 편리한 메서드들을 제공 주요 인터페이스로 List, Set, Map을 제공 List 데이터의 순서가 유지되며 중복 저장이 가능한 컬렉션을 구현할 때 사용 ArrayList, Vector, Stack, LinkedList등이 List 인터페이스를 구현 Set 데이터의 순서가 유지되지 않으며, 중복 저장이 불가능한 컬렉션을 구현할 때 사용 HashSet, TreeSet 등이 Set 인터페이스를 구현 Map 키(key)와 값(value)의 쌍으로 데이..

article thumbnail
Java 컬렉션 - 1
Java 2023. 4. 16. 16:43

Java 컬렉션 Java 열거형 열거형 여러 상수들을 보다 편리하게 선언할 수 있도록 만들어진 자바의 문법 요소이다. 상수명의 중복을 피하고 타입에 대한 안정성을 보장한다. 간결하고 가독성이 좋은 코드를 작성할 수 있으며 switch문에서 작동이 가능하다. 열거형의 사용 방법 대소문자 모두 사용 가능하지만 관례적으로 대문자를 사용 값을 따로 지정하지 않아도 자동적으로 0부터 시작하는 정수값이 할당 enum 열거형이름 {상수명1, 상수명2, 상수명3, ...} // 열거형 사용 예시 enum Numbering { FIRST, SECOND, THIRD } public class Main { public static void main(String[] args) { Numbering num = Numbering..

article thumbnail
Java 객체지향 프로그래밍 심화 - 3
Java 2023. 4. 16. 16:41

Java의 다형성 다형성 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것이다. 상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조할 수 있도록 허용 반대로 하위 클래스의 타입에서 상위 클래스의 객체를 참조하는 것은 불가능 참조변수의 타입 변환 참조변수의 타입 변환은 사용할 수 있는 멤버의 개수를 조절하는 것을 의미 상속 관계에 있는 상위 클래스와 하위 클래스 사이에만 타입 변환이 가능 하위 클래스 타입에서 상위 클래스 타입으로의 타입 변환(업캐스팅)은 형변환 연산자 생략 가능 상위 클래스에서 하위 클래스 타입으로 변환(다운캐스팅)은 형변환 연산자를 반드시 명시 instanceof 연산자 캐스팅이 가능한 지 여부를 boolean 타입으로 확인할 수 있는 자바의 문법 요소..

article thumbnail
Java 객체지향 프로그래밍 심화 - 2
Java 2023. 4. 16. 16:39

Java의 캡슐화 캡슐화 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것 데이터 보호화 내부적으로 사용되는 데이터의 불필요한 외부 노출을 방지 유지보수와 코드 확장 시 오류의 범위를 최소화 캡슐화의 핵심 수단으로는 접근제어자(Access Modifier), getter와 setter 메서드가 존재 패키지(Package) 특정한 목적을 공유하는 클래스와 인터페이스의 묶음이다. 패키지는 물리적인 디렉토리이고, 클래스나 인터페이스 파일은 해당 패키지에 속함 패키지가 있을 경우 소스 코드의 첫 번째 줄에 반드시 패키지명이 표시되어야 함 클래스의 충돌을 방지해주는 기능을 보유 Ex) java.lang, java.util, java.io 등 import문 다른 패키지 내의..

article thumbnail
Java 객체지향 프로그래밍 심화 - 1
Java 2023. 4. 16. 16:34

Java의 상속 상속 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소이다. 상위 클래스의 멤버를 하위 클래스와 공유하는 것을 의미 extends 키워드를 사용하여 정의 단일 상속만을 허용 class Parent { // 상위 클래스 } class Child extends Parent { // 하위 클래스, Parent 클래스를 상속받는 Child 클래스 } 포함 관계 포함(composite)은 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것을 의미한다. 클래스 간의 관계가 '-은 -이다(IS-A)' 관계는 상속, '-은 -을 가지고 있다(HAS-A)' 관계는 포함 단위별 여러 개의 클래스는 코드가 작게 나눠 작성되어 있으므로 코드를 관리하는데 ..

article thumbnail
Java 객체지향 프로그래밍 기초 - 2
Java 2023. 4. 16. 16:28

Java의 생성자 생성자(Constructor) 인스턴스 변수를 초기화하는 데 사용되는 메서드이다. 생성자와 메서드의 차이점 생성자의 이름은 반드시 클래스의 이름과 같아야 함 생성자는 리턴 타입이 없음 기본 생성자(Default Constructor) 모든 클래스에는 반드시 하나 이상의 생성자가 존재 생성자가 클래스 안에 없을 경우 자바 컴파일러는 기본 생성자를 자동으로 추가 생성자가 있을 경우 기본 생성자가 아닌 추가한 생성자를 기본으로 사용 클래스명(){} // 기본 생성자 DefConst(){} // DefConst 클래스의 기본 생성자 매개변수가 있는 생성자 메서드처럼 매개변수를 통해 호출 시 해당 값을 받아 인스턴스를 초기화 인스턴스마다 다른 값을 가지고 초기화가 가능하여 고유한 특성을 지닌 인..

article thumbnail
Java 객체지향 프로그래밍 기초 - 1
Java 2023. 4. 16. 16:23

Java의 객체지향 프로그래밍 기초 객체지향 프로그래밍 모든 실재하는 어떤 대상을 프로그래밍 언어에서는 객체(Object)라고 부른다. 객체지향 프로그래밍(OOP, Object Oriented Programming)의 개념은 이 객체에서 시작된다. 객체지향이론의 핵심 개념은 실제 세계가 객체들로 구성되어 있고 발생하는 모든 사건들은 객체들의 상호작용을 통해 발생한다는 것을 전제로 한다. 객체지향 프로그래밍은 "프로그래밍에서 필요한 데이터를 한 데 모아 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 특정 기능을 구성"하는 프로그래밍 방법론을 지칭한다. 즉, 실제 사물의 속성(state)과 기능(behavior)을 분석한 후 이것을 프로그래밍의 변수와 함수로 정의함으로..

article thumbnail
Java 기초 - 5
Java 2023. 4. 16. 16:20

Java의 배열 배열이란 같은 타입의 변수들을 하나의 묶음으로 묶은 자료 구조를 의미한다. int num1, num2, num3, num4, num5; // 배열을 사용하지 않는 경우 int[] num = new int[5]; // 배열을 사용하는 경우 배열의 선언과 초기화 // 배열을 다루기 위한 참조변수 선언 int[] value; // 배열의 선언, 타입[] 변수명; // 실제 저장공간 생성 value = new int[5]; // 배열의 생성, 변수명 = new 타입[길이] // 배열의 선언과 생성을 한줄로 간략화 int[] value = new int[5]; // 원하는 값으로 배열의 생성과 초기화 int[] num = {1, 2, 3, 4, 5, 6, ..., 100}; 배열의 인덱스 배열이 ..