본문 바로가기

JAVA

(227)
java.util 패키지 java.util패키지 - 유용한 클래스들을 많이 가지고 있는 패키지 날짜와 관련된 클래스인 Date, Calendar클래스 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스와 클래스 deprecated란 더이상 지원하지 않으니 사용하지 않는 것이 좋다란 의미다. Date클래스는 지역화를 지원하지 않는다. 지역화란 국가별로 현재 날짜와 시간은 다를 수 있는데, 그 부분을 지원하지 못한다. 이런 문제를 해결하기 위하여 나온 클래스가 Calendar클래스. Calendar클래스는 자바 1.1에 등장함. 지역화와 관련된 클래스들은 Locale로 시작되는 이름을 가진 클래스들로 1.1 이후에 등장함. List, Set, Collection, Map은 자료구조 즉 컬렉션 프레임워크와 관련된 인터페이스 참고...
Math클래스 Math 클래스 - 수학계산을 위한 클래스 코싸인, 싸인, 탄젠트, 절대값, 랜덤값을 구할 수 있는 클래스 Math클래스는 생성자가 private으로 되어 있기 때문에 new 연산자를 이용하여 객체를 생성할 수 없다. 객체를 생성할 수는 없지만 모든 메소드와 속성이 static으로 정의되어 있기 때문에 객체를 생성하지 않고도 사용할 수 있다. 최대값 구하기 - Static한 메소드 선언 - 클래스명.메소드명 - max() : 두 값중에 더 큰 값을 구할 수 있는 메소드 package java03.day03; public class MathExam { public static void main(String[] args) { int value1 = Math.max(5, 30); System.out.print..
StringBuffer String 클래스와 비슷한 클래스, StringBuffer 클래스 String 클래스는 자기 자신이 변하지 않는 불변 클래스 반면 StringBuffer 클래스는 자기 자신이 변하는 클래스이다. -- StringBuffer 생성 package java03.day03; public class StringBufferExam { public static void main(String[] args) { //StringBuffer 생성 StringBuffer sb = new StringBuffer(); // StringBuffer에다 문자열을 하나씩 추가하기 = > append() sb.append("hello"); sb.append(" "); sb.append("world"); // 이렇게 추가된 String..
Generic Generic Generic을 사용함으로써 선언할때는 가상의 타입으로 선언을 해주고(타입을 주는 것은 아님) 실제 사용할 때는 구체적으로 타입들을 설정함으로써 다양한 타입의 클래스를 이용하는 클래스를 만들어낼 수 있다. 제너릭을 사용하는 대표적인 클래스 Collection 프레임워크와 관련된 클래스들이 있다. package java03.day02; public class Box { // Box는 Object타입으로 obj라는 필드를 갖게 할거고요 private Object obj; //이 필드에 값을 설정할 수 있는 setObj()와 // 해당 Object의 값을 반환하는 getObj()라는 메소드를 설정 // 값을 설정하는 부분이기때문에 리턴타입은 필요없다. // 값을 받아와서 설정해야할테니까 Obje..
java.lang 패키지/ 오토박싱 java.lang 패키지 java.lang 패키지는 import를 하지 않고도 사용 가능 기본형 타입을 객체로 변환시킬 때 사용하는 wrapper라는 클래스가 존재 - wrapper class : 기본형 데이터 타입의 객체화를 가능하게 도와주는 클래스들 실제 클래스가 존재하는 것은 아니나 8개의 기본 데이터 타입들을 각각 객체로 변환시킬 수 있는 클래스가 존재한다. Boolean, Byte, Character 등 8개의 기본 데이터 타입의 매핑되는 각각의 클래스들을 모두 모아서 wrapper클래스라 부른다. 그 외에도 모든 클래스의 최상위 클래스 - object, 문자열과 관련된 클래스 - String, StringBuffer, StringBuilder 화면의 값을 출력할 때 사용하는 클래스 - Syst..
Object와 overriding Object 클래스, 모든 클래스의 최상위 클래스 아무것도 상속받지 않으면 자동으로 Object를 상속받기 때문 이 말은 Object가 가지고 있는 메소드는 모든 클래스에서 사용할 수 있다는 것을 의미 Object 가 가지고 있는 메소드 중에서 가장 많이 사용되는 메소드 1. equals() : 객체가 가지고 있는 값을 비교할 때 사용, 같은 값인 지 아닌지를 비교할 때 사용 객체 간의 같다 다르다를 비교하려면 기준이 필요하다.( 예시: 학번 또는 이름만 같으면 같다할 것인지 등) 즉, Object는 같은 값인지 다른 값인지에 대해서 비교할 수 있는 메소드는 제공하고 있지만 그 메소드를 오버라이딩해서 기준을 정해주는 것은 프로그래머가 해야하는 일이다. String 클래스의 equal()는 Object 가..
[프로그래머스] 약수의 합 class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i
사용자 정의 Exception 사용자 정의 Exception Exception 클래스가 이미 자바에서 정의해놓은 클래스들이 사용될 수 도 있고 사용자가 직접 Exception을 정의해서 사용할 수 도 있다. 사용자는 Exception이나 RuntimeException이라는 클래스를 상속받아 새로운 Exception클래스를 만들어 낼 수 있다. public class 클래스이름 extends Exception{ ... } 새로운 Exception클래스를 만드는 이유는 무엇일까? Exception클래스 자체가 특별한 무언가를 하지는 않는다. 다만 이름 때문이다. 클래스 이름만으로도 어떤 오류가 발생했구나라는 것을 직관적으로 사용자에게 알게하려는 목적을 가지고 있다. 1. Exceptiond을 상속받은 클래스들은 Checked Except..