백엔드/자바
-
래퍼클래스 (wrapper) 클래스백엔드/자바 2020. 8. 13. 05:49
래퍼클래스란? 객제지향에선 모든 것을 객체로 다뤄야 한다. 하지만 일부 기본 자료형(primitive type)는 객체가 아니다. 그래서 이러한 기본 자료형을 객체로 다뤄주기 위해서 래퍼 클래스를 사용해야 한다. 미리 입력된 래퍼 클래스를 이용하면 기본 자료형을 객체로서 다룰 수 있다. 우선 예시부터 보면 다음과 같다. public static void main(String[] args) { Integer A1 = new Integer(5); // Integer객체 생성하면서 정수 5 입력 Integer A2 = 5; // Integer 자료형인 참조 변수에 5 저장 Integer A3 = 5; // Integer 자료형인 참조 변수에 5 저장 System.out.println(A1==A2); // fa..
-
java.lang 패키지 - StringBuffer 클래스백엔드/자바 2020. 8. 13. 05:47
StringBuffer란? 앞서 포스팅한 String클래스는 변경이 불가능한 immutable 자료형이다. 반면 StringBuffer클래스는 mutable자료형이다. String 클래스의 인스턴스는 가진 텍스트를 변경할 때마다 새로 인스턴스가 생성된다. 하지만 StringBuffer는 텍스트를 변경해도 해당 인스턴스가 새로 유지 된다. 그래서 텍스트 변경이 잦은 작업을 위해서는 String보다는 StringBuffer가 더 유리하다. StringBuffer의 구조 StringBuffer은 String과 마찬가지로 클래스 내부에 문자형 배열 ( char[ ] )참조 변수를 갖는다. 이 배열의 크기는 StringBuffer를 생성자를 이용해 생성할 때 결정된다. 변수 sf1과 같이 인스턴스를 생성할 때 따..
-
java.lang 패키지 - String 포맷, 변환백엔드/자바 2020. 8. 13. 05:24
문자열 포맷 문자열 포맷이란 형식화된 문자열을 만드는 것이다. format( ) 메서드를 사용하면 된다. 형식은 다음과 같다. "String.format("출력할 텍스트", 포맷으로 넣어줄 텍스트)" 예제를 보면 더 쉽다. public static void main(String[] args) { String A = String.format("저는 %d학년 %d반 %s입니다.", 3, 3, "학생"); // 첫번째 파라미터에 출력할 텍스트 값을 넣는다. // 이때 텍스트 내에서 포맷팅할 텍스트 자리엔 %d(숫자), %s(문자열) 등을 미리 배치한다. // 그 다음은 포맷 문자를 넣어준 만큼 파라미터로 문자나 숫자를 입력해준다. System.out.println(A); // "저는 3학년 3반 학생입니다."..
-
java.lang 패키지 - join ( ) , StringJoiner백엔드/자바 2020. 8. 13. 04:25
Join ( ) 메서드 형식 : String.join( "단어 사이에 넣고자 하는 텍스트 또는 기호", 변수명) split( ) 메서드와 반대 역할을 하는 메서드다. 아래와 같이 특정 텍스트를 입력해주면 이를 배열 사이에 끼워넣고 합쳐서 하나의 문자열로 돌려준다. public static void main(String[] args) { String A [] = {"Tiger", "Bear", "Lion"}; String B = String.join("&", A)); // 배열의 단어 사이에 "&"을 넣고 결합 System.out.println(B); // "Tiger&Bear&Lion" 출력 // 배열의 단어를 합쳐서 문자열로 돌려줌 } 하나의 문장을 가지고 split( ) 메서드로 분리했다가 join(..
-
java.lang 패키지 - String 클래스 메서드백엔드/자바 2020. 8. 12. 18:31
String은 다양한 메서드를 제공한다. charAt( ) 형식 : 변수명.charAt( 인덱스넘버 ) 인덱스 넘버로 원하는 문자 찾기 public static void main(String[] args) { String A = "강아지는 멍멍합니다"; A.charAt(5); A.charAt(6); System.out.println(A.charAt(5)); // "멍" 출력 System.out.println(A.charAt(5)); // "멍" 출력 } compareTo( ) 형식 : A.compareTo(B) A와 B 객체 비교하여 음수, 양수, 0을 반환한다. A를 기준으로 B를 비교했을 때 음수가 나오면 A가 사전상 순서가 앞에 있다는 것. A를 기준으로 B를 비교했을 때 양수가 나오면 A가 사전상..
-
java.lang 패키지 - String 클래스 속성백엔드/자바 2020. 8. 12. 15:41
String 클래스 자바를 사용하면서 가장 많이 쓰게 되는 클래스 중 하나로 C언어와 달리 문자열을 쉽게 다룰 수 있게 도와주는 메서드를 가지고 있는 클래스다. String 클래스는 내부적으로 문자형 배열 참조 변수( char[] ) value로 가지고 있다. 참조 변수 value는 String 인스턴스 생성시 입력하는 문자를 문자형 배열의 형태로 저장하게 된다. 설명을 들어선 좀 이상하다면 아래 코드를 보도록 하자. String을 써줄 때는 위와 같은 두 가지 방식으로 선언하게 된다.(물론 첫번째가 압도적으로 많이 쓰인다.) 얼핏보면 우리가 문자열을 통째로 저장하는것처럼 보인다. 하지만 실제로는 위와 같이 문자형 배열의 형태로 인스턴스 변수 value에 저장이 된다. 즉 우리가 String 클래스를 이..
-
java.lang 패키지 - Object 클래스백엔드/자바 2020. 8. 11. 18:19
Object 클래스 모든 클래스의 최고 조상 클래스로 Object 클래스의 모든 멤버는 모든 클래스에서 바로 사용이 가능하다. Object 클래스는 멤버 변수는 존재하지 않고 11개의 메서드만 가지고 있으며 Object의 모든 메서드는 앞서 말했듯 모든 클래스에서 바로 사용이 가능하다. 해당 포스트에선 11개의 메서드 중 가장 많이 쓰이는 3개의 메서드에 대해 다룰 것이다. hashCode() 객체의 해시코드를 반환하는 메서드다. 해시코드란 해싱 함수를 사용한 결과값으로 반환되는 정수값을 의미한다. hashCode() 메서드는 객체가 가진 메모리상의 주소값을 int로 변환한 해시코드 형태로 반환한다. 즉 풀어서 이야기하자면 객체는 각자 다른 해시코드 값을 가진다. 그리고 hashCode메서드는 그 해시코..
-
예외에서 finally 블럭백엔드/자바 2020. 8. 11. 05:13
finally 블럭 finally 블럭은 예외의 발생 여부 상관없이 실행해야할 코드를 넣는 목적으로 쓴다. try-catch문의 끝에 선택적으로 붙여 사용할 수 있다. finally 블럭 사용법 catch 블럭 끝나는 지점에 'finally'에 대괄호 '{ }'를 붙이고 대괄호 안에 실행할 문장을 넣어준다. try { 실행문; } catch ( 예외) { 대체 실행문; } finally { finally 실행문; } public static void main(String[] args) { try { // try 블럭 System.out.println("예외 finally 테스트입니다."); } catch (Exception a) { // catch 블럭 System.out.println("예외 final..