TIL/Java (27) 썸네일형 리스트형 [Java] API - 3. Stringbuilder, Wrapper, Calendar String 불변이라는 특성을 가지고 있다. 문자열에 + 연산으로 합치기 하는 경우, 기존 인스턴스를 수정하는 것이 아닌 새로운 인스턴스를 반환한다. 따라서 문자열 변경이 자주 일어나는 경우 성능 면에서 좋지 않다. 하지만 변하지 않는 문자열을 자주 읽어 들이는 경우에는 좋은 성능을 기대할 수 있다. StringBuilder 가변이라는 특성을 가지고 있다. 문자열에 append() 메소드를 이용하여 합치기 하는 경우 기존 인스턴스를 수정하기 때문에 새로운 인스턴스를 생성하지 않는다. 따라서 잦은 문자열 변경이 일어나는 경우 String 보다 성능이 높다. 단, JDK 1.5 버전부터 문자열의 + 연산이 StringBuilder의 append()로 컴파일 된다. 따라서 성능에 큰 차이를 보이지 않는다. 하.. [java] API - 2. new String, equals, split, StringTokenizer, 이스케이프문자 문자열 객체 사용하는 방법 "" 리터럴형태 - 동일한 값을 가지는 인스턴스를 단일 인스턴스로 관리한다. (singleton) new String("문자열") -매번 새로운 인스턴스를 생성한다 String str1 = "java"; String str2 = "java"; String str3 = new String("java"); String str4 = new String("java"); 리터럴 형태로 만든 문자열 인스턴스는 동일한 값을 가지는 인스턴스로 하나의 인스턴스로 관리한다. - 따라서 주소 값을 비교하는 == 연산으로 비교 시 서로 동일한 주소를 비교하여 true를 반환한다. - new로 새로운 인스턴스를 생성하게 되면 기존 인스턴스를 두고 새로운 인스턴스를 할당했기 때문에 == 연산으로 비교 .. [Java] API - 1. Object, toString, equals, hashCode, CharAt, compareTo, concat, indexOf, trim, lastIndexOf, toLowerCase, toUpperCase, substring, replace, length, isEmpty API (Application Programming Interface)란? - 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그램이 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 - 자바 API : 자바 플랫폼 위에서 동작하는 애플리케이션 개발 시 활용 (유용한 클래스 및 인터페이스 제공) JDK를 설치하면 시스템을 제어하거나 편의 기능을 위한 API를 제공 Object - 모든 클래스는 Object 클래스의 후손 - java.lang 패키지에 존재 - Object 클래스가 가진 메소드 중 관례상 많이 오버라이딩 해서 사용하는 메소드들이 존재 - 제공하는 메소드 ( toString, equals, hashCode ) toString() - 인스턴스 생성 시 사용한 full class name.. [Java] 객체지향 - 2. 다형성과 객체배열, 매개변수에 쓰이는 다형성, 리턴타입에 쓰이는 다형성, 추상클래스, 추상메소드 다형성과 객체배열 - 다형성과 객체배열을 이용하면 여러 인스턴스를 하나의 레퍼런스 변수로 연속 처리할 수 있음 Car[] car = new car[5]; car[0] = new Sonata[]; car[1] = new Avante(); car[2] = new Grandure(); for(int i = 0; i < car.length; i++){ car[i].move();//실행 후엔 동적바인딩 실행. Sonata, Avante, Grandure에있는 move메소드 출력 } 참고코드 Animal[] animals = new Animal[5]; animals[0] = new Rabbit(); animals[1] = new Tiger(); animals[2] = new Rabbit(); animals[3] =.. [Java] 객체지향 - 1. 다형성, 동적바인딩, instanceof 연산자, 클래스 형변환 다형성이란? 하나의 인스턴스가 여러가지 타입을 가질 수 있는 것을 의미한다. 다형성은 상속을 기반으로 한 기술이다. 하나의 타입으로 여러 타입의 인스턴스를 처리할 수 있고, 하나의 메소드 호출로 객체별로 각기 다른 방법으로 동작하게할 수 있다. 1. Parent p = new Parent(); (O) 2. Child c = new Child(); (O) 3. Parent p2 = new Child(); (O) -> 다형성 기술이 적용되어서 가능함 4. Child c2 = new Parent(); (X) -> Child클래스가 Parent클래스를 다룰 수 없음 Parent[] arr = new parent[3]; arr[0] = new Child1(); arr[1] = new Child2(); arr[2].. [Java] 상속 - IS-A, super, super(), 오버라이딩(Overriding) 상속 - 부모클래스가 가지는 멤버를 자식클래스가 물려받아 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술 - 멤버 외에 타입도 상속이 된다. - 자바는 단일상속만 지원한다. (하나의 클래스만을 부모클래스로 가짐) - 클래스 간의 상속 시에는 extends 키워드를 사용한다. ex) public class Academy extends Company{ }//Company가 부모 클래스 장점 - 새로운 클래스를 작성 시 기존에 작성된 클래스의 재사용 가능 - 클래스간 계층 관계가 형성되어 다형성 문법의 토대가 된다. 단점 - 부모클래스의 기능 변경시 자식클래스의 정상적인 동작 유무 예측이 힘들다. - 자식클래스가 물려받아 사용하는 기능들을 부모클래스에서 변경 시 어려움이 따름 - 부모클래스로부터 물려받은 기.. [Java] 객체배열 객체배열 - 레퍼런스 변수에 대한 배열 - 동일한 타입의 여러 인스턴스들을 배열로 관리할 수 있다. - 반환값은 1개의 값만 반환할 수 있기 때문에 동일한 타입의 여러 인스턴스를 반환해야 하는 경우 객체 배열을 이용한다. 선언 클래스명[ ] 배열명; 클래스명 배열명[ ]; ex) Product[ ] pArr; Product pArr[ ]; 할당 배열명 = new 클래스명[배열크기]; ex) pArr = new Product[3]; 선언과 동시에 할당 클래스명 배열명[ ] = new 클래스명[배열크기]; ex) Product pArr[ ] = new Product[3]; 인덱스를 이용한 초기화 배열명[ i ] = new 클래스명( ); ex) pArr[0] = new Product("TV", 300); 선.. [Java] 클래스와 객체, 객체지향언어, 캡슐화, 추상화, 생성자, 오버로딩 클래스란 서로 다른 자료형의 데이터들을 하나로 묶어 새로운 타입을 정의한 것이다. (배열과 달리 다른 자료형들의 값을 하나로 묶을 수 있음) 클래스는 객체를 생성하는데 사용 String id; String pwd; String name; int age; char gender; String[] hobby; System.out.println("member.id : " + member.id); System.out.println("member.pwd : " + member.pwd); System.out.println("member.name : " + member.name); System.out.println("member.age : " + member.age); System.out.println("member... 이전 1 2 3 4 다음 목록 더보기