본문 바로가기

분류 전체보기79

7장. 컬렉션과 제네릭 #1 개요, Vector 컬렉션 컬렉션 1. 컬렉션이란? 객체들을 요소로 하는 저장소 요소 개수에 따라 크기 자동 조절 ( 객체 배열과 차이점 ) 요소의 삽입, 삭제에 따른 위치 자동 이동(가변 크기의 컨테이너) 객체만 요소가 된다. 잠시상기) 기본 타입배열은 객체로 관리한다. 그럼 기본타입의 배열도 컬렉션 요소로 가능한가? 2. 제네릭(generics)기법 : 특정 타입이 아닌 여러 종류의 타입으로 쓸 수 있게 '클래스나 메소드'를 다루는 기법 기본 타입 불가 cf) 자동박싱을 해주긴 하지만 Wrapper 클래스를 애초부터 써주자 형식 : 제네릭 ex) Stack : 정수만 다루는 스택 //제네릭을 추후 직접 만들 수도 있다. ex) Stack : 문자열만 다루는 스택 타입 : E Element, T Type, V Value, K k.. 2020. 6. 15.
6장. 패키지와 활용 #2 주요 클래스 1. Object 클래스 java.lang.Object, 모든 클래스가 상속받는다. Object 클래스는 유일하게 아무 클래스도 상속받지 않는 최상위 클래스 주요메소드 hashCode(), toString() : 객체의 해시 코드 값, 객체를 나타내는 문자열 정보 제공 cf) 해시 코드 값은 객체가 생성될 때 할당받는 고유한 정수값 getClass() : 객체의 클래스 정보를 담은 Class 객체를 리턴, Class 객체의 getName()을 호출하면 객체의 클래스 명을 알 수 있다. Object에는 객체를 문자열로 변환하는 toString()이 있으며, 각 클래스는 toString()을 오버라이딩(메소드 재정의)하여 자신만의 문자열을 리턴할 수 있다. 2. equals() 메소드 ==는 두 객체의 레퍼.. 2020. 6. 15.
6장. 패키지와 활용 #1 패키지 패키지 1. 패키지 : 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일들을 한 곳에 묶어 놓은 것 경로에 따라 구분되기 때문에 클래스의 이름이 중복되어도 구별이 가능하다. import문으로 패키지를 가져와서 해당 패키지의 클래스들을 사용할 수 있다. 일반적으로 JDK 패키지는 소문자, 클래스는 대문자로 시작한다. ex) import java.util.*; import java.util.Scanner; 2. 패키지 만들기 지정 클래스를 패키지에 저장하는 방법 ex) //Tools 클래스를 UserInterface 패키지에 저장, 패키지 선언문은 반드시 첫 줄에 써야한다. //경로명은 UserInterface.Tools package UserInterface; public class Tools {.. 2020. 6. 14.
5장. 상속 #6 인터페이스 vs 추상클래스 추상클래스(Abstract) vs 인터페이스(Interface) 두가지 개념 모두 추상 메소드를 선언만 해두고 정의는 사용자에게 강제로 맡기는 방식으로, 헷갈릴 수 있는 개념이다. 하지만 둘은 명확한 차이를 갖고 있다. 사용법과 그 생김새에 대하여 차이점을 알아보자. #추상클래스 : 추상 메소드가 하나 또는 그 이상 포함된 클래스 #인터페이스 : 인터페이스 내의 모든 메소드들은 빈 껍데기만 있는 메소드 추상클래스 추상 클래스는 추상 메소드를 하나 이상 갖고 있는 클래스를 말한다. #추상메소드는 abstract 키워드를 사용하여 정의하며, 그 내부의 내용은 정의되어 있지 않다. 만약 추상메소드를 하나라도 포함하고 있는 추상 클래스라면, 이 클래스 역시 abstract 키워드를 사용하여 표시해 주어야 한다... 2020. 6. 14.
5장. 상속 #5 인터페이스 인터페이스 1. 자바의 인터페이스 : 상속할 특징을 가진 설계도, 객체가 아니다, 생성불가! only 상속용 클래스가 구현해야 할 메소드들이 선언되는 추상형 클래스 인터페이스는 상수와 메소드만 선언 가능. 필드x 인터페이스의 형식 >> (접근제한자) interface Interface1{} 상속용으로 인터페이스 레퍼런스 생성가능. 객체생성은 불가능! 인터페이스를 상속받은 클래스는 인터페이스의 모든 추상 메소드를 반드시 구현해야 한다. (서브클래스의 메소드 오버라이딩 필수!) 클래스의 상속형식 ex) class ClassA implements Interface1 {} // class ClassA implements Interface2, Interface3 {} 인터페이스는 클래스와 다르게 하나의 인터페이스.. 2020. 6. 13.
5장. 상속 #4 추상 메소드/클래스 추상 메소드, 클래스(abstract method, class) 1. 추상 메소드 (abstract method) : 선언되어있고 구현 안 된 메소드 형식 : (접근제한자) abstract (반환타입) Method1(); 추상메소드는 서브클래스에서 오버라이딩으로 구현. 추상 클래스는 비워둔다. 2. 추상 클래스 (abstract class) 형식 : (접근제한자) abstract class Class1 {} 추상 클래스는 인스턴스 생성 불가능 종류 i) 추상 메소드를 하나라도 가진 클래스 ex) abstract class Shape { public Shape() {} public void paint() { draw(); } abstract public void draw(); } ii) 추상 메소드가 하나.. 2020. 6. 13.