Pichu Pokeball
본문 바로가기

분류 전체보기113

Java 제네릭과 컬렉션 다향성을 적용해 적용하면 제이터를 접근 할 때마다 항상 원하는 타입으로 형변환을 하여야 한다. 구현면에서는 효율적이고 편리하지만, 자료형에 매우 불안정한 구조가 된다. 제네릭 프로그래밍 클래스를 정의하면서 사용할 변수의 자료형을 설계할 때(코드 작성시) 결정하는 것이 아니가 컴파일 할 때 자료형을 검사해서 자료형에 유연하면서 안정성까지 고려할 수 있도록 제공하는 기술 제네릭은 어떠한 자료형을 기반으로도 인스턴스의 생성이 가능하도록 자료형에 일반적인 클래스를 정의하는 문법(재사용이 가능) 실행할 때 매개변수로 받아서 데이터 타입을 결정한다. 제네릭 클래스 : 타입을 변수로 표시(타입매개변수 : 객체 생성시에 프로그래머에 의하여 결정) 타입매개변수 : E-Element, K-Key, N-Number, T-T.. 2023. 5. 14.
Java API(기본 클래스) 디폴트 패키지 : 현재 디렉터리. package 선언분이 없이 만들어진 클래스의 패키지 서로 다른 패키지 안에 들어 있는 클래스나 인터페이스를 사용하는 방법 클래스에 패키지 이름을 붙여서 참조 개별 클래스를 import 전체 클래스를 import : 하나의 패키지 안에 포함된 모든 클래스를 포함하려면 *사용 JAR 압축 파일(.jar): 클래스 파일은 또한 JAR파일 형태로 저장될 수 있다. JAR 파일은 여러 개의 클래스 파일을 압축하여서 가지고 있다. 자바의 기본 패키지는 java로 시작, 확장 패키지는 javax로 시작 모듈: 관련있는 여러개의 자바 패키지를 하나로 묶어 놓은 단위. 모듈을 구성하는 패키지에는 여러 개의 자바 클래스파일(*.class),즉 API가 존재 java.base: 모든 모듈.. 2023. 5. 14.
Java 예외처리 오류 : 오작동을 하거나 비정상적으로 종료되는 것 문법적 오류 : 문법이 올바르지 않은 상태 실행 오류 1.오류(에러) : 시스템이 정상적인 기능을 수행할 수 없게 된 상태(수습불가) 2.예외: 실행 중 예기치 않은 문제가 발생한 상태(수습 가능) 논리적 오류 : 개발자가 원하는 결과가 산출되지 않는 상태 예외 : 사용자의 잘못된 조작 또는 부정확한 데이터 처리 또는 개발자의 잘못된 코딩으로 인한 오류. 자바에서 예외도 하나의 객체 예외 처리 : 미리 코드를 작성해서 대처하는 과정 예외 객체: 오류를 설명하는 객체를 생성하게 되는데 그 객체. 오류정보, 오류의 타입과 오류 발생 시의 프로그램의 상태 등의 정보를 포함. 생성하는 것을 예외를 던진다(throw) 처리하는 것 예외를 잡는다(catch) #예외.. 2023. 5. 14.
Java 추상 클래스, 인터페이스 및 다형성, 내부 클래스(중첩 클래스) 추상클래스 개념 추상(abstract) : " 여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용." 추상 클래스 : 클래스 선언 시 앞에 abstract, 추상클래스 = 필드 + 일반 메서드 + 추상 메서드 메서드 선언 시 본문을 구현하지 않으면 abstract로 선언(abstract 선언 메서드는 본문X) 추상 메서드를 포함하는 클래스는 선언부에 abstract 명시(추상메서드를 하나라도 포함하면 추상클래스) 실체 클래스(객체를 직접 생성할 수 있는 클래스)들의 공통되는 필드와 메서드 정의한 클래스(부모 클래스 역할 : 단독 객체 X) 기능이 무엇인지만을 정의하고 어떻게 구현되는지는 정의 하지 않는다.(메소드가 미완성이므로 추상클래스로는 객체(인스턴스)를 생성할 수 없다.. 2023. 5. 14.
Java 상속 객체지향 언어의 장점은 유지 보수성이 높은 시스템을 개발할 수 있다는 것이다. 유지보수성을 높이는 가장 기본적인 원칙은 " 중복을 제거하는 것"(공통 멤버를 가지는 클래스들 간의 공통점이 있는지, is-a 관계 성립) 상속: 기존에 존재하는 유사한 클래스로부터 속성괴 동작을 그대로 가져다 사용하면서 자신이 필요한 기능을 추가하는 기법, 자식 클래스가 부모클래스의 멤버를 쿨려받는 것(is - a 관계: ~은 ~이다.) [클래스 정의 다음에 extends(자식 클래스가 상속할 부모 클래스를 지정하는 키워드)를 써주고 수퍼 클래스 이름] 이미 존재하는 클래스(상속하는 클래스, 내용이 정의된 클래스): 슈퍼클래스, 부모 클래스, 베이스 클래스 상속을 받는 클래스(가져다 사용하는 클래스): 서브 클래스, 자식 클.. 2023. 5. 14.
Java 생성자 및 클래스 변수, 클래스 메서드 생성자 : 클래스에 선언하는 메서드 중 하나 형태 : 메서드 형태 리턴타입: 선언하지 않음 이름: 클래스명 역할 : 필드(인스턴스 변수, 멤버변수)의 초기화, 메모리 할당 호출 시기 : 인스턴스 생성 시 딱 한번 자동 호출 생성자와 일반 메서드의 차이 인스턴스 생성 시 자동으로 호출 반환값(리턴타입)이 없다 클래스 이름과 같다. 따라서 일반 메서드와 달리 대문자로 시작 #생성자 선언 [접근제한자 클래스명(매개변수){ 실행문; }] 생성자 실행(new 클래스(); ) : new 명령문은 두 가지일 실행 필드를 힙 메모리에 생성(필드의 값 설정) new 다음에 선언된 생성자를 호출(메서드 호출해 객체를 사용할 수 있도록 준비하는 역할 수행) #기본 생성자 [public 클래스( ){ }] 모든 클래스는 생성.. 2023. 5. 14.