반응형

프로그래밍/java 40

[자바 / Java] Wrapper 클래스(Auto Boxing과 Auto UnBoxing)

Wrapper 클래스 : 8가지에 해당하는 기본 타입의 데이터를 객체화 할 수 있도록 하는 클래스 Primitive Data Type Wrapper Class boolean Boolean byte Byte char Character short Short int Integer long Long float Float double Double Boxing : 기본 타입을 레퍼클래스의 객체로 객체화 하는 것 UnBoxing : 래퍼클래스 타입의 객체를 기본 타입으로 변경하는 것 int intValue = 20; 박싱 - 생성자 이용 Integer boxingNumber1 = new Integer(intValue); =>int값 기본자료형을 Integer라는 생성자 쪽에다가 인자로 전달하면 Integer타입의 객..

[자바 / Java] StringBuilder의 자주 사용되는 메소드

String 과 StringBuilder 차이 String : 불변 +연산으로 합치기 문자열에 합치기하는 경우 새로운 인스턴스를 반환 문자열 변경이 자주 일어나느 경우 성능 면에서 좋지 않음 변하지 않는 문자열을 자주 읽어 들이는 경우에는 성능이 좋음 StringBuilder : 가변 oppend() 메소드로 합치기 기존 인스턴스를 수정(새로운 객체생성x) 잦은 문자열 변경이 일어나는 경우 String 보다 성능이 좋음 StringBuilder의 자주 사용되는 메소드 capacity() : 용량(현재 버퍼의 크기)을 정수형으로 반환하는 메소드 16이 기본 용량 append() : 인자로 전달 된 값을 문자열로 변환 후 기존 문자열의 마지막에 추가 기본 용량을 초과하는 경우 (기존 문자열 + 1 ) * 2..

[자바 / Java] 이스케이프 문자 사용

이스케이프 문자 : 특수문자나 특수한 기능을 표현하는 문자 이스케이프 문자 사용 개행 문자 : \n System.out.println("안녕하세요.\n저는 홍길동입니다."); 탭 문자 : \t System.out.println("안녕\t하세요.저는 홍길동입니다."); 홑 따옴표 : 이스케이프 문자를 쓰지 않아도 됨. 단, 홑 따옴표 문자와 문자 리터럴 기호가 중복시에는 이스케이프 문자 사용 System.out.println('\''); 쌍따옴표 : \" System.out.println("안녕하세요 저는 \"홍길동\"입니다."); 역슬래쉬 문자 : \\ System.out.println("안녕하세요 저는 \\홍길동\\입니다."); 출력 결과 안녕하세요 저는 \홍길동\입니다. split사용시 : \\ sp..

[자바/Java] String 클래스의 hashCode()와 equals()

1. Striing 클래스의 hashCode() : 주소값이 다른 인스턴스여도 value 값이 같으면 동일한 hashCode반환 1) 문자열 객체 사용하는 방법 " " 리터럴 형태 : 동일한 값을 가지는 인스턴스를 단일 인스턴스로 관리 String str1 = "java"; String str2 = "java"; String pool 또는 상수 풀 : String만 따로 관리되는 공간 같은 값을 가지 리터럴 형태의 인스턴스는 String pool에 관리 되기 때문에 중복값은 저장하지 않음 주소 값을 비교 해보면 true를 반환함 new String("문자열") : 매번 새로운 인스턴스를 생성 String str3 = new String("java"); //String의 생성자를 호출하는데 인자로 "jav..

[자바/Java] String 클래스 : 자주 사용되는 메소드

String 클래스 : Java.lang 패키지에 존재하는 클래스로 문자열을 처리하는 여러가지 메소드를 제공 제공하는 메소드 charAt() : 해당 문자열의 특정 인덱스에 해당하는 문자를 반환 인덱스를 벗어난 정수를 인자로 전달하면 IndexOutOfBoundsException 발생 String str1 = "apple"; for(int i = 0; i < str1.length(); i++) { System.out.println("charAt(" + i + ") : " + str1.charAt(i)); } 출력 결과 charAt(0) : a charAt(1) : p charAt(2) : p charAt(3) : l charAt(4) : e compareTo() : 인자로 전달된 문자열과 사전 순으로 비..

[자바/Java] hashCode() , equals()

1 . equals() : 자신과(this) 매개변수로 전달 받은 객체(obj)를 동일한지 비교 true or false 를 반환 동일 객체와 동등 객체 동일 객체 : 주소가 동일한 인스턴스 동등 객체 : 주소는 다르더라도 필드 값이 동일한 객체 = > equals() 기본 기능은 동일 객체를 판단함. 동등 객체를 판단해야 하는 경우 equals()를 오버라이딩하여 확인! equals() 동일 객체 예시 Book book1 = new Book(1, "홍길동전", "허균", 50000); Book book2 = new Book(1, "홍길동전", "허균", 50000); System.out.println("두 인스턴스의 == 연산 비교 : " + (book1 == book2)); System.out.pri..

[자바 Java] API

API : 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 자바 API : JDK를 설치하면 시스템을 제어하거나 편의 기능을 위한 API를 제공 Object : 모든 클래스는 Object 클래스의 후손 java.lang 패키지에 존재 오직 11개의 메서드만 가지고 있음 제공하는 메소드 메소드 설명 toString() 인스턴스 생성 시 사용한 full class name과 @ 그리고 16진수 해쉬코드가 문자열로 반환 equals() 매개변수로 전달 받은 인스턴스와 비교하여(==) true 또는 false를 반환(동일 인스턴스인지를 비교) hashCode() 인스턴스의 주소값을 변환하여 생성한 인스턴스의 고유 값을 반환

[자바JAVA] 추상클래스와 인터페이스

추상클래스 추상메소드를 0개 이상 포함하는 클래스 추상메소드 없어도 됨 필드 가능. 생성자가능-> 객체화가능. 일반 메소드 가능. 미완성 메소드(추상메소드)가능 추상클래스로는 인스턴스 생성 불가능 (x) Product pro = new Product() ; 다형성을 활용하여 상속받은 하위 클래스에 인스턴스 생성 후 추상클래스 사용 추상클래스의 추상메소드는 오버라이딩 강제성 부여 추상메소드 메소드의 선언부만 있고 구현부가 없는 메소드 반드시 abstract 키워드를 메소드 헤드에 작성 해야 함. public abstract void method(); 인터페이스 추상 메소드와 상수 필드만 가질 수 있는 클래스의 변형체 필요한 기능을 공통화 해서 강제성을 부여할 목적(표준화) 인터페이스는 다중상속이 가능함. ..

[자바JAVA] 다형성(동적바인딩, 클래스형변환)

다형성 객체지향 프로그래밍의 3대특징 1 . 캡슐화 2 . 상속 3 . 다형성 하나의 인스턴스가 여러가지 타입을 가질 수 있는 것을 의미 결합도를 낮춰 유지보수성과 생산성 증가 상속 관계에 있는 모든 객체는 동일한 메시지를 수신할 수 있음 확장성이 좋은 코드 작성 가능 1 . 다형성 구현 : 동적바인딩 동적바인딩 : 컴파일시에는 해당 타입의 메소드와 연결되어 있다가 실행 시간(runtime)에 실제 객체가 가진 오버라이딩 된 메소드로 바인딩이 바뀌어 동작하는 것 상속 관계로 이루어져 다형성이 적용되어야하고 메소드 오버라이딩이 되어 있어야 함. 하나의 메소드 호출로 각기 다른 객체의 다른 메소드를 동작 시키게 함 2 . 클래스 형변환 (class type casting) 객체별로 고유한 기능은 동작시키지 ..

[자바JAVA] 상속(super,오버라이딩@Override)

상속 객체지향 프로그래밍의 3대특징 1 . 캡슐화 2 . 상속 3 . 다형성 상위클래스가 하위클래스를 상속 받아 멤버 변수와 메소드를 사용할 수 있음 멤버 외에 타입 또한 상속 가능. 자바는 단일 상속만 지원(하나의 클래스만을 상위클래스로 가짐) 클래스 간의 상속 시에는 클래스 선언부에 extends(확장) 예약어 사용 ex) class B extends A{ } B 클래스가 A클래스를 상속받는다. IS-A : 자식클래스는 하나의 부모 클래스이다. 하위클래스끼리는 접근 불가 IS-A 관례로 구분되는 경우에만 사용하는게 좋음 상속의 장점 : 클래스의 재사용, 다형성 문법 가능 상속의 단점 : 상위 클래스 기능 변경시 하위 클래스 동작 유무 예측이 힘듦 상속 키워드 1 . super 상위클래스의 인스턴스 주..

반응형