목차 컬렉션(collection) List 계열 2-1. ArrayList 2-2. Vector 2-3. LinkedList 2-4. stack 2-5. queue Set 계열 3-1. HashSet 클래스 3-2. LinkedHashSet 클래스 3-3. TreeSet 클래스 1. 컬렉션(collection) java.util 패키지 하위에 속해 있다. 데이터를 효율적으로 저장하는 자료구조와 데이터를 처리하는 알고리즘이 미리 구현돼 있는 것이다. 여기서 자료구조란, 데이터를 메모리상에 효율적으로 저장하기 위한 방법론을 칭한다. 크게 단순구조(정수, 실수, 문자, 문자열 등 변수) / 선형구조(List 인터페이스 계열) / 비선형구조(Set 인터페이스 계열) / 파일구조로 나뉜다. Collection.i..
🧩 학습 단원 : 객체 지향 프로그래밍 I (OOP) 📚 학습 도서 : (남궁 성 저) ✅ 오답 정리 완료() [6-1] 다음과 같은 멤버변수를 갖는 SutdaCard클래스를 정의하시오. ✅ public class SutdaCard { int num; boolean isKwang; } [6-2] 문제6-1에서 정의한 클래스에 두 개의 생성자와 info()를 추가해서 실행 결과와 같은 결과를 얻도록 하시오. ❎✅ info() 반환형을 String으로 정의했다. 결과값 1K에서 num으로부터 얻은 숫자 또한 현재는 문자열로 출력된 것이다. 또, this.과 this()의 사용을 잘 구분해 활용할 수 있도록 하자. 기본 생성자에서 두 줄로 나누어 썼던 것을 this(1, true)처럼 간추릴 수 있다. 3 1..
목차 제네릭 제네릭 클래스 사용 2-1. 타입 변수 선언 2-2. 타입 결정 및 인스턴스 생성 2-3. 타입 제한 extends 와일드카드 1. 제네릭 제네릭(generic)의 사전적인 의미는 일반적인, 포괄적인, 통칭의 것이다. 자바에서 제네릭이란 데이터 타입의 일반화을 말한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 특정화하지 않다가, 컴파일 시에 지정한다. 제네릭을 활용하면 형변환 및 타입 검사에 들어가는 코드들을 생략할 수 있다. instanceof로 비교하거나 다운캐스팅 작성하는 과정이 불필요해진 것이다. 이러한 제네릭은 JDK 1.5버전부터 추가된 문법이다. ✅ 제네릭에 대해 이해할 수 있다. ✅ 제네릭의 목적에 대해 이해할 수 있다. ✅ 제네릭 클래스에 대해 이해할 수 있다...
목차 Wrapper 클래스 1-1. 박싱(Boxing) 1-2. 언박싱(UnBoxing) 1-3. 파싱(parsing) 1-4. valueOf().toString(); Date 클래스 2-1. 기본 생성자 Date() 2-2. Date(long date) Calendar 클래스 3-1. getInstance() 3-2. 후손클래스 GregorianCalendar 3-3. get(Calendar.상수필드) ✅ Wrapper 클래스 통해 파싱(parsing) 처리할 수 있도록 하자! 1. Wrapper 클래스 8가지 기본자료형의 데이터들을 객체로 다뤄야 할 때 이를 인스턴스화 해주는 클래스를 래퍼클래스(Wrapper 클래스)라고 한다. 이름처럼 다른 무언가로 감싸서 객체로서 기능하게 만든다고 볼 수 있다. ..
목차 Object 1-1. toString() 1-2. equals() 1-3. hashCode() String 2-1. String 제공 메소드들 2-2. String 인스턴스 생성 방법 2-3. 구분자 사용한 String 분리 2-4. 이스케이프(escape) 문자 StringBuilder와 StringBuffer 3-1. String과 StringBuilder 비교 3-2. StringBuilder의 toString()과 hashCode() 3-3. StringBuilder제공 메소드 API(Application Programming Interface) 운영체제나 프로그래밍 언어가 제공하는 기능들을 응용 프로그램에서 사용할 수 있도록 제어 가능하게 만든 인터페이스를 말한다. '추상클래스와 인터페이스..
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.09) BASIC1. 사각형과 원의 면적, 둘레 구하기(클래스) ✅ Rectangle 면적 : 1473.15 Rectangle 둘레 : 154.4 Circle 면적 : 754.7676350249478 Circle 둘레 : 97.38937226128358 Application.class 객체 생성한 뒤 메소드 호출하는 방법보다 new 연산자 사용해 호출하는 것이 간단할 수 있다. 특히 이 경우는 한 번뿐인 호출이기 때문에 그렇다. package com.greedy.level01.basic.polymorphism; public class Application { public static void main(String[] args) { //S..
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.06) BASIC1. 상속 구조를 통한 학생-직원 관리 프로그램 name=홍길동, age=20, height=178.2, weight=70.0, grade=1, major=정보시스템공학과 name=김말똥, age=21, height=187.3, weight=80.0, grade=2, major=경영학과 name=강개순, age=23, height=167.0, weight=45.0, grade=4, major=정보통신학과 이름 : 박 나이 : 26 키 : 180 몸무게 : 71 급여 : 10000000 부서 : 기획부 계속 입력하시겠습니까? (y/n) : n name=박, age=26, height=180.0, weight=71.0, sa..
목차 다형성 1-1. 다형성의 정의 1-2. 다형성의 특징 동적바인딩 연산자 instanceof 클래스 형변환 다형성 활용 예시 5-1. 다형성과 객체배열 5-2. 다형성과 매개변수 5-3. 다형성과 리턴 타입 추상클래스와 인터페이스 6-1. 추상클래스 6-2. 인터페이스 6-3. 추상클래스와 인터페이스 비교 다형성은 캡슐화, 상속과 함께 객체 지향 프로그래밍(OOP, Object Oriented Programming)의 3대 특징 중 하나이다. 1. 다형성 1-1. 다형성의 정의 하나의 인스턴스가 여러 타입을 가질 수 있다는 의미이다. Student는 Person이자 Object이기도 하다. 상속의 정의를 다룰 때 멤버(필드, 메소드) 외에 타입 또한 상속이 된다고 표현했다. 여기서는 그 타입의 상속을..
목차 상속 상속의 장단점 2-1. 상속의 장점 2-2. 상속의 단점 is-a 관계 super.와 super(); 4-1. super. 4-2. super(); 4-3. this()와 super(), this.와 super. 접근제한자 protected 오버라이딩(overriding) 객체 지향 프로그래밍(OOP, Object Oriented Programming) 3대 원칙이 캡슐화와 추상화, 상속, 다형성이다. 그 중 상속에 대해 배워보자. 1. 상속 SuperA a; △ ↑ ChildB b=a; 상속에는 부모클래스와 자식클래스란 개념이 등장한다. 부모의 멤버(필드, 메소드)를 자식이 물려 받아 마치 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술이다. 멤버 외에 타입 또한 상속이 된다. 여기서 이어..