java 46

0. Generic

Generic 데이터 형식에 의존하지 않고 ,하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법이다 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정된다 객체 객체명 = new 객체(); 1. Generic의 장점 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 즉, 관리가 편하다 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다 2. Generic의 사용방법 보통 제네릭은 아래 표의 타입들이 많이 쓰인다. 타입 설명 Type Element Key Value Number 물론 반드시 한 글자일 필요는 없다. 또한 설명과 반드시 일치해야 할 필요도 없..

카테고리 없음 2024.03.13

0. 예외 처리

1. 예외 프로그램이 실행되는 동안에 발생하는 예기치 않은 에러 2. 컴파일 에러와 런타임 에러 1) Compile time Error 컴파일할 때 발생하는 에러 2) Run time Error 실행할 때 발생하는 에러 3. Java의 런타임 에러 1) 에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 2) 예외(exception) 프로그램 코드에 의해서 수습될 수 있는 미약한 오류 3) 예외처리 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 (강제 종료 대신 의도된 종료 가능) 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지 4. 예외 처리 - 예외 클래스 1) Throwable 클래스 자바에서 에러와 예외 사항을 모두 나타내기 위한 최상위 클래..

Java/공부 2024.03.13

0. Wrapper 클래스

Wrapper 클래스 기본 자료형 데이터를 객체 타입으로 변경해주면서 데이터 타입과 관련된 유용한 기능들을 제공해준다 1. Wrapper 클래스 기본형 타입 Wrapper 클래스 byte Byte short Short int Integer long Long float Float double Double char Character 1) 기본형 타입 > Wrapper 클래스 : Boxing 빗금이 그어진 것은 현재 잘 사용하지 않는 방식이다 2) Wrapper 클래스 > 기본형 타입 : UnBoxing intValue() 메서드를 사용하여 Unboxing을 해주었다 3) Auto Boxing 정수형 데이터 100이 Integer Wrapper 클래스로 Auto Boxing 되었다

Java/공부 2024.03.13

0. hashCode()

hashCode() hashCode()는 객체의 hashCode를 반환한다 hashCode는 일반적으로 각 객체의 주소값을 변환하여 생성한 객체의 고유한 정수값이다 두 객체가 동일 객체인지 비교할 때 사용할 수 있다 1. 객체의 hashCode() hashCode()를 바로 호출하면 아래의 결과가 나온다 10진수 형태로 출력된 결과이다 16진수 형태로 출력을 하려면 아래처럼 작성한다 printf 메서드에서 %x 포맷을 사용한다 위 실행결과를 보면 toString의 마지막 문자열과 hashCode()의 문자열이 같은것을 확인할 수 있다 toString 또한 hashCode를 사용하기 때문이다 위 사용예시들로 확인할 수 있듯이, hashCode는 생성한 객체의 고유한 정수값을 반환해주며 이를 이용하여 각 객..

Java/공부 2024.03.13

Java 문제 풀이 Class

1번 답: 4번 필드는 클래스 내에서 private로 선언하는 것이 바람직하다 2번 답: 4번 생성자의 실행을 끝내고자 할 때, return; 을 사용할 수 있다 3번 답: 3번 Power[] p = new Power[10] 으로 수정 4번 답: 2번 배열의 크기만 정의된 상태이다 5번 답: (1) 오버로딩은 반환 타입에 연관하지 않지만 매개변수가 달라야 한다 6번 (1) this()를 이용하여 생성자를 수정하라 class TV { int size; String manufacturer; public TV() { this(32, "LG"); } public TV(String manufacturer) { this(32, manufacturer); } public TV(int size, String manuf..

Java/문제풀이 2024.03.12

0. Interface

Interface 메서드: 일반 메서드는 없이 전부 추상 메서드(public abstract)로만 구성한다 속성: 일반 멤버 필드는 없고 public static final로 선언된 상수만 있다 직접 객체를 생성하는 것은 불가능하고, implements 키워드를 이용하여 다른 클래스로 구현할 때에는 객체 생성이 가능하다 구현된 클래스에서는 반드시 추상 메서드를 재정의해야 한다 abstract 예약어를 사용하지 않아도 추상 메서드로 인식한다 다중 상속을 지원한다 생성자 사용이 불가능하다 1. 인터페이스 용도 1) 낮은 결합도 유지 (Business Component 개발의 원칙 중 하나) OOP 특성 중 다형성 구현에 인터페이스를 사용하여 결합도를 낮춘다 인터페이스 선언, 상속(구현), 메서드 재정의, 형..

카테고리 없음 2024.03.12

0. Abstract

Abstract 1. 추상 클래스와 추상 메서드 추상 메서드(정의되지 않고 선언만 한 메서드)를 하나 이상 포함한다. 추상 메서드가 포함된 클래스는 반드시 추상 클래스로 정의해야 한다. (자식 클래스에서 메서드 정의) 추상 클래스는 일반 클래스와 같이 멤버 변수 및 일반 메서드를 포함할 수 있다. 추상 클래스는 인스턴스화, 즉 객체 생성에 사용될 수 없으며, 반드시 추상 클래스를 상속받는 클래스를 만든 후 추상 클래스에서 선언된 모든 추상 메서드를 오버라이딩해서 일반 메서드로 완성한 다음 객체를 생성해야 한다. 2. 사용하는 이유 프로그램을 구체적으로 어떻게 구현할지 결정이 되지 않았거나, 프로그램을 동일한 규격으로 만들 수 있도록 가이드를 제공하기 위해 사용한다. 3. 사용 실습 추상 클래스와 메서드를..

Java/공부 2024.03.11

Java Up/Down Casting 문제 1

1. 다음 메서드를 완성하라 답: 매개변수를 Employee 형태로 받음으로써 Upcasting을 수행한다 instanceof 를 통해 객체 타입을 확인하여 downcasting을 수행하여 출력해주었다 2. 다음 클래스에 대해 물음에 답하라. - private int a; - public void set(int a) {this.a = a;} - private int a; - public void set(int a) {this.a = a;} - protected int b, c; - private int a; - public void set(int a) {this.a = a;} - protected int b, c; - public int d, e; - (1) a = 1; 변수 a의 접근 지정자는 priv..

Java/문제풀이 2024.03.11

0. UpDownCasting / instanceof

UpDownCasting 1. Upcasting 하위 클래스 객체가 상위 클래스로 형변환되는 것이다 상위 클래스형의 참조변수 = 하위 클래스의 객체 상위 클래스형의 참조 변수를 통해서 상위 클래스의 속성에만 접근 가능 하위 클래스에서 재정의한 메서드에 접근이 가능하다 1) 사용 실습 부모 클래스형의 참조 변수 s1이 자식 클래스의 객체(Sub)를 가졌다 자동 형변환이 된다 s1 변수는 자식 클래스의 속성에 접근하지 못한다 메서드를 호출할 때는 자식 클래스에서 Overriding 된 메서드가 호출된다 Upcasting 그대로 사용하면 Sub Class의 멤버에 접근을 못하므로 DownCasting을 이용한다 2) 사용 실습 - Overriding Upcasting이 된 상태에서 하위 클래스의 멤버에 접근하..

Java/공부 2024.03.11