개발자 유자❤

IT/JAVA

[JAVA] 제네릭(Generic)

💡 제네릭스 (Generics) 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시 타입 체크를 해주는 기능이다. 객체의 타입을 컴파일 시 체크하기 때문에 객체 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 의미 ArrayList tvList = new ArrayList(); tvList.add (new Tv()); Tv t = tvList.get(0); ✔ 장점 타입 안정성을 제공한다. 타입 체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. class Box {} - Box : 원시타입 - T : 타입 변수 또는 타입 매개변수 - T가 아닌 다른 값 : 대입된 타입 (매개변수화된 타입) - Box : 제네..

IT/JAVA

[자바의 정석] CH11. 컬렉션 프레임워크

💡 컬렉션프레임워크 : 데이터 군을 저장하는 클래스들을 표준화한 설계 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. (ArrayList, LinkedList, Stack, Vector 등) Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. (HashSet, TreeSet 등) Map 키(key) 와 값 (value) 의 쌍으로 이루어진 데이터의 집합, 순서는 유지되지 않으며 키는 중복을 허용하지 않고 값은 중복을 허용한다. (HashMap, TreeMap, Hashtable, Properties 등) 👉 활용 boolean add (Object o) boolean addAll(Collection c) 지정된 객체(o) 또는 Collection(c)의 객체들을..

IT/JAVA

[자바의 정석] CH10. 날짜와 시간 & 형식화

Calendar 클래스 - Calendar 클래스는 추상 클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = Calendar.getInstance(); cal.get(Calendar.YEAR); cal.get(Calendar.MONTH); - date.add (int field, int amount) - date.roll(int field, int amount) Calendar date = Calendar.getInstance() date.add(Calendar.DATE,1); date.roll(Calendar.Date,31); //add : 특정 날짜 또는 시간을 기점으로 해서 일정기간 전후의 날짜와 시간을 알아낼 ..

IT/JAVA

[자바의 정석] CH9. java.lang 패키지와 유용한 클래스

Object클래스 - equals() - hashCode() : 해시함수는 찾고자하는 값을 입력하면, 그 값이 저장된 위치를 알려주는 해쉬코드를 반환한다. - toString() String 클래스 - 한번 생성된 String 인스턴스가 가지고 있는 문자열은 읽어 올 수만 있고, 변경할 수는 없다. - 인스턴스를 생성할 때 지정된 문자열을 변경할 순 없다. - String intern() : 문자열을 상수풀에 등록한다. 문자열과 기본형 간의 변환 - 기본형.valueOf(i) // 기본형으로 변환 - 기본형.parse형 () // 기본형으로 변환해줌. StringBuffer 클래스 - 인스턴스를 생성할 때 지정된 문자열을 변경할 수 있다. - 문자열 편집을 위한 버퍼를 가지고 있으며, 그 크기를 지정할 ..

IT/JAVA

[자바의 정석] CH8. 예외 처리

컴파일 에러 : 컴파일할 때 발생하는 에러 런타임 에러 : 프로그램의 실행도중에 발생하는 에러 - 에러 Error - 예외 Exception Exception 클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException 클래스들 : 프로그래머의 실수에 의해 발생될 수 있는 예외 예외처리 - 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 - 반환값이 있는 return 문의 경우, catch 블럭에도 return문이 있어야 한다. try { catch(Exception e1) { } } printStackTrace() : 예외발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지를 화면에 출력한다. getMessage(..

IT/JAVA

[자바의 정석] CH7. 객체지향 프로그래밍

상속 - 자손 클래스는 조상 클래스의 모든 멤버를 상속받는다. - 자손 클래스의 멤버 개수는 조상 클래스보다항상 같거나 많다. - 다중 상속 불가능 class Parent { } class Child extends Parent { } 오버라이딩 - 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것 오버라이딩 조건 - 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다. (접근 제어자 넓은 범위 -> 좁은 범위 : public > proteted > (default) > private) - 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 오버로딩 vs 오버라이딩 오버로딩 : 기존에 없는 메서드를 정의하는 것, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것! 오..

IT/JAVA

[자바의 정석] CH6. 객체지향 프로그래밍

💡 객체지향 프로그래밍 장점 코드의 재사용성이 높다. 코드의 관리가 용이하다. 신뢰성이 높은 프로그래밍을 가능하게 한다. 💛 클래스 : 객체를 정의해놓은 것, 데이터와 함수의 결합(구조체+함수) 💛 객체 : 실제로 존재하는 것, 사물 또는 개념 클래스로부터 객체를 만드는 과정 : 인스턴스화 클래스로부터 만들어진 객체 : 인스턴스 💛 인스턴스 변수 : 클래스 영역에 선언되며, 인스턴스를 생성할 때마다 만들어진다. 💛클래스 변수 : 인스턴스 변수 앞에 static을 붙이기만 하면 된다. 인스턴스마다 독립적인 저장공간을 갖는 인스턴스 변수와는 달리, 클래스 변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야 하는 속성의 경우, 클래스 변수로 선..

IT/JAVA

[JAVA 기초] 8강. 추상 클래스(abstract class)

💡 추상 클래스 하위에서 구현할 메소드의 원형을 가진 상위 클래스이다. 상위 클래스로만 존재 자체를 객체로 생성할 수 없다. 💛 형식 abstract class 클래스명 { 일반 멤버 변수; 메소드들; 생성자; abstract 반환형 메소드명(); } extends 키워드를 이용하여 추상 클래스를 상속 추상 메소드를 하위에서 모두 구현할 필요 없다.

IT/JAVA

[JAVA 기초] 7강 상속

💡 상속 : 객체와 객체를 연관시키고 계층구조를 만들어 코드를 재사용 부모 클래스, 상위 클래스, parent class, super class 자식 클래스, 하위 클래스, child class, sub class 오직 한 클래스만을 상속할 수 있다. 💛 형식 (1) 상속 형식 class 클래스명(자식 클래스) extends 상속 클래스명(부모 클래스) { } 모든 클래스의 부모 클래스 -> Object 상위 클래스의 접근지정자에 따라 접근이 제한 💛 멤버 상속 상위 클래스에 지정된 private 멤버는 해당 클래스에서만 사용할 수 있고, 하위 클래스에서는 사용할 수 없다. 상위 클래스에 지정된 public 멤버는 해당 클래스 뿐만 아니라 하위 클래스에서도 사용할 수 있으며, 외부에서도 언제든지 사용할 ..

IT/JAVA

[JAVA 기초] 6강 클래스(Class)

💡 클래스 형식 class 클래스명 { //field, constructor, and //method declarations } ✔ 멤버변수, 필드 : 클래스 안에 선언된 변수 ✔ 메소드(method) : 클래스 안에 선언된 함수 💡 멤버변수 또는 필드 형식 - 공용 변수 - 전역 변수와 유사한 속성 -> 클래스 안에서만 - 객체 속성은 곧 멤버변수이다. 💡 객체 생성과 사용 ✔ new ✔ . 을 사용하여 멤버변수의 메소드에 접근 💡 접근 제어자 private : 같은 클래스 안에서만 접근 가능 public : 전체에서 접근 가능 protected : 같은 클래스와 패키지 그리고 하위 클래스에 접근 가능 friendly 또는 생략된 제어자 : 같은 클래스와 패키지 안에서만 접근 가능 💡 오버로딩 중복되는..

유자나라
'IT/JAVA' 카테고리의 글 목록 (3 Page)