JAVA _기초 16

[JAVA] Generic - 상속, 다형성, 추상화, 캐스팅

제너릭(Generic) 학습 전 이 전 배웠던 클래스 캐스팅(추상화 및 다형성) 에 대해 복습을 먼저 진행한다. 1. 상속 부모클래스의 속성과 기능을 그대로 이어받아 사용할 수 있게하고 기능의 일부분을 변경해야 할 경우 상속받은 자식클래스에서 해당 기능만 다시 수정(정의)하여 사용할 수 있게 하는 것 적은 양의 코드로 새로운 클래스 작성 가능 코드를 공통적으로 관리할 수 있어 코드의 추가 및 변경 용이 자식클래스에서 해당 기능을 다시 수정해 사용할 수 있게 하는 데서 오버라이딩(다형성)이 활용 2. 다형성 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있는 것 오버라이딩(Overriding): 부모클래스의 메서드와 같은 이름, 매개변수를 재정의 하는 것 오버로딩(Overloading):..

JAVA _기초 2023.02.28

[JAVA] 콜렉션(Collection)

콜렉션(Collection) 에는 대표적으로 3가지 (list , set, map) 이 있음 ** Collection 라는 인터페이스를 상속 하고 있는 인터페이스 1. List 2. Set ---------------------------------------------- ** Map 인터페이스가 최상위 인터페이스인 3. Map 1. LIst - 배열과 흡사한 데이터 구조 - 사이즈정보 및 구성요소의 데이터타입을 지정하지 않아도 됨. - 데이터를 삽입하면 자동으로 인덱스 부여 - 인덱스를 이용하여 수정 및 중간삽입, 읽어오기, 제거 등을 할 수 있음 -> CRUD(Creat , Read, Update, Delete) - 중복데이터 저장이 가능함 순차구조 컬렉션 C : add(value), add(inde..

JAVA _기초 2023.02.27

[JAVA] Inheritance : 상속_03

Inheritance : 상속 - 부모클래스의 멤버(필드, 메서드)를 자식클래스에서 사용가능 - 자식 클래스가 부모클래스를 결정합니다. = public class Super{} = public class sub extends Super {} - 단일 상속만 지원한다. - 자식클래스의 생성자 내부에는 super() 생성자가 생략되어있다. ** Override : 부모 클래스에 있는 메소드를 자식 클래스에서 재정의 하는 것 - 단 , 클래스 vs 클래스에서는 선택적으로 적용이 가능함) - 오버라이드 메서드인 경우 @Override 어노테이션을 적용해주는 것이 좋음 ** 다형성 : 상속 관계에서 다형성 - 부모 객체 탙입으로 참조 변수 선언 - 자식 객체를 생성해서 부모 참조변..

JAVA _기초 2023.02.23

[JAVA] Inheritance : 상속_02

https://journeyjeong.tistory.com/15 [JAVA] Inheritance : 상속 _01 상속 (inheritane) - 부모클래스: 상위클래스, 슈퍼클래스 - 자식클래스: 하위클래스, 서브클래스 01. 개념 : 부모의 멤버를 상속받아 자식이 쓸수 있게 해준다. 02. 목적 : 코드의 중복, 효율적으로 개 journeyjeong.tistory.com Inheritance: 상속_ 02 01. 슈퍼클래스와 서브클래스의 변수이름이 동일할때, 서브클래스에서 동일한 변수의 이름으로 출력 할때는 서브클래스 값이 기본으로 출력됨. 그렇기에 슈퍼클래스의 값을 가지고 올때는 서브클래스에서 super.x 로 호출해야함 예제 01. package fields; public class AAA { i..

JAVA _기초 2023.02.22

[JAVA] Inheritance : 상속 _01

상속 (inheritane) - 부모클래스: 상위클래스, 슈퍼클래스 - 자식클래스: 하위클래스, 서브클래스 01. 개념 : 부모의 멤버를 상속받아 자식이 쓸수 있게 해준다. 02. 목적 : 코드의 중복, 효율적으로 개발하여 작업 시간을 줄여준다. 03. 예외적인 항목 부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려받을 수 없습니다. 부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려받을 수 없습니다. (default 접근 제한은 ‘같은 패키지에 있는 클래스’만 접근이 가능하게끔 하는 접근 제한자이기 때문입니다.) 그 이외의 경우는 모두 상속의 대상이 됩니다. 04. 상속 방법 : 상속받고자 하는 자식 클래스명..

JAVA _기초 2023.02.21

[JAVA] Exceptions: 예외

01. Exceptions: 예외 : 프로그램 실행 중 발생하는 문제에 정상적으로 종료 및 안내 할 수 있게끔 아래와 같이 몇가지 시나리오로 처리해야 함 - 사용자가 잘못된 데이터를 입력했습니다. - 열려야 하는 파일을 찾을 수 없습니다. - 통신 중 네트워크 연결이 끊어졌거나 JVM 메모리가 부족합니다. 이러한 예외 중 일부는 사용자 오류로 발생하고, 다른 이유는 프로그래머 오류로 인하여, 다른 오류는 물리적 리소스로 인하여 발생한다. *Checked exceptions: 확인된 예외는 컴파일 타임에 컴파일러에 의해 확인(통지)되는 예외이며 컴파일 타임 예외라고도 합니다. 이러한 예외는 단순히 무시할 수 없으며 프로그래머가 이러한 예외를 처리(처리)해야 합니다. 두가지 방법 처리할 수 있다. (1) 발..

JAVA _기초 2023.02.20

[JAVA] 자바의 Enum, 열거형 이란

01. Enum 이란? : "Enumeration"의 약자로, Enumeration은 "열거, 목록, 일람표"라는 뜻으로 요소, 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. : 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이이며, 일부 열거자 자료형은 언어에 기본 소속되어 있을 수 있다. : Enum 은 상수 그룹 (Final 변수처럼, 바꿀 수없는 변수)를 나타내는 특수한 Class 이다. : 다만 interface 대신 Enum 키워드를 사용하고, 대문자를 사용하고, 쉼표로 구분해야 한다. - 데이터 중에는 몇가지로 한정된 값 나열 - 열거 상수 (enumeration constant) - Stati Final - 열거타입. 열거상수 - 확장자는 java 로 외형적인 것은 ..

JAVA _기초 2023.02.17

[JAVA] 문자열 (String)

01. 문자열과 배열의 비교 예제 package string; public class StringTest01 { public static void main(String[] args) { // " ㅇㅇㅇ " : 문자열, 상수 String str="문자열"; char[] strs={'문','자','열'}; System.out.println("문자열길이 : " + str.length()); //길이정보를 알 수 있는 메서드 System.out.println("배열의길이 : " + strs.length); //길이정보를 알 수 있음 char ch= str.charAt(0); //한글자씩 추출함 //문:0, 자:1, 열:2 System.out.println(ch); char[] strs2 = str.toCharA..

JAVA _기초 2023.02.15

[JAVA] Private 정보 가지고 오기

https://smoothiecoding.kr/%EC%9E%90%EB%B0%94-private-%EC%A0%91%EA%B7%BC%EC%A0%9C%EC%96%B4%EC%9E%90/ 01. package method; public class Point { // package 생략 (접근가능한 정도가 package 까지라는) // class 의 멤버 필드에 접근제한자가 표현되지 않을 경우 = package // 보통 package 는 표현하지 않고, 생략함 private int x; //private 는 해당 클래스에서만 접근이 가능하다. 보통 보안처리 할 때 사용함 int y; //return 뒤에 있는 value(값) 가 존재하면 //returnType 을 지정해야함 ->즉 int, void, double..

JAVA _기초 2023.02.15

[JAVA] JAVA의 연산자

01. 연산자와 피연산자 : 자바에서는 사칙연산(+, -, *, /)을 비롯하여 다양한 연산자를 제공하며, 연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야 하는데 이것을 '피연산자(operand)'라 한다. ex > x + 3 -> 피연산자 : x , 3 -> 연산자: + ex > int x = 5; y= 4 * x + 3 System.out.println(y); // 23 02. 연산자의 종류 1> 산술 연산자 (Arithmetic Operatiors) : + , - , * , / , % , ++ , -- , > * %(계수): 왼쪽 피연산자를 오른쪽 피연산자로 나누고 나머지를 반환합니다. * ++(증분): 피연산자의 값을 1씩 증가합니다. * --(감소): 피연사자의 값을 1씩 감소합니다. e..

JAVA _기초 2023.02.15