JAVA55 [JAVA] enum(열거 타입, 사용하기, 사용하는 이유) Enum(Enumeration)- 열거형- 값들의 집합을 이루는 자료형 enum(열거 타입)정의서로 연관된 상수들의 집합상수만을 다루는 enum 타입의 클래스를 만든 것상수를 단순하게 정수로 취급하지 말고, 클래스로 객체화하여 관리하자는 취지 enum을 사용하는 이유허용 가능한 값을 제한수정 시 변경 범위가 최소화(enum만 수정하면 됨)컴파일 시 데이터 타입 및 유효성을 체크할 수 있음코드가 단순해지고 가독성이 좋아짐인스턴스의 생성과 상속을 방지하여 상수값의 안전성이 보장/* 상수를 여러개 쓰기 불편 public static final String SUN = "SUN" public static final String MON = "MON" public stat.. 2024. 4. 24. [JAVA] Object.equals()와 String.equals(), ==연산자 [ object 클래스]정의- 자바 클래스들의 최상위 클래스(root class)특징1. object 클래스의 멤버는, 모든 클래스에서 사용 가능2. 명시적으로 구현하지 않으면, 컴파일 시에 클래스가 자동으로 상속 받음public class Student extends Object { }// Object 명시적으로 상속하지 않으면, 컴파일시 자동 추가 }3. object 타입의 참조변수는, 모든 클래스의 객체를 업캐스팅으로 받을 수 있음 Object class의 equals() 메서드정의같은 객체인지를 확인할 때 사용하는 메서드즉, 객체의 위치값(주소값)을 비교하여 동일한 객체인지를 판별함 예제class Coffee { private String name; .. 2024. 4. 24. [JAVA] StringBuffer클래스, StringBuilder클래스 StringBuffer클래스정의StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면새로운 문자열이 생성되는 것이 아니라기존의 문자열만 변경 사용하는 경우기존의 문자열을 변경하는 상황이 많은 경우에 사용(예) 안드로이드와 같은 메모리 자원이 부족한 모바일 환경에서, 문자열을 자주 변경하는 경우에 사용 append() 메서드append() : 문자열을 뒤에 추가함String 클래스와 달리 append() 메서드를 이용하여, 기존 문자열을 수정할 수 있음 특징멀티 스레드 동기화 기능이 제공 StringBuilder 클래스정의StringBuffer 클래스의 문자열은 기존의 문자열을 변경하면새로운 문자열이 생성되는 것.. 2024. 4. 24. [JAVA] 값 복사하기 : object클래스의 clone() 메서드 object클래스의 clone() 메서드 정의object 클래스에 정의된 clone() 메서드자신을 복사하여 새로운 인스턴스를 생성함 특징단순히 인스턴스의 값만 복사함기본 타입 변수의 경우에는, 값 자체를 복사하기 떄문에복사한 객체는 별도의 메모리를 가짐(깊은 복사)참조타입의 변수(참조변수)를 가지는 클래스를 복사하는 경우에는객체의 주소가 복사되기 때문에완전한 복사가 이루어지지 않음(얕은 복사) object클래스의 clone()protected native Object clone() throws CloneNotSupportedException; 1. 접근 제한자가 protected동일한 패키지나 상속 관계가 아니므로, clone() 호출이 불가능이.. 2024. 4. 24. [JAVA] 깊은 복사, 얕은 복사 깊은 복사정의실제 값을 새로운 메모리 공간에 복사복사된 객체는 완전히 독립적인 메모리를 차지 특징실제 값을 복사새로운 인스턴스를 생성하기 때문에, 복사된 객체는 다른 위치를 가리킴 장점객체 자체의 값를 복사하기 때문에 새로운 객체로 다형성을 부여하거나, 재정의 할 수 있음 단점모든 인스턴스의 값을 가지고 오기 때문에 얕은 복사에 비해 느림 얕은 복사정의최소한의 복사객체의 주소값을 복사하기기 때문에, 복사된 객체는 같은 위치를 가리킴따라서 참조하고 있는 실제값이 같음값을 복사하는 것이 아니라, 인스턴스가 생성되지 않음 특징참조 타입(reference)을 복사하는 경우에 얕은 복사가 일어남복사하려는 원본 객체에 대해서 새로운 .. 2024. 4. 24. [JAVA] 익명 클래스(익명 객체) 익명 클래스(익명객체)정의내부 클래스의 한 종류딱 한 번만 인스턴스를 생성하여 사용하는 객체즉, 프로그램에서 일시적으로 한번만 사용되고 버려지는 객체일시적으로 사용된다는 것은, 재사용되지 않는다는 것일회용으로 사용하므로 이름이 필요 없어서 '익명 클래스'라고 함 익명클래스를 사용하는 목적 1. 프로그램 내에서 일시적으로 1번만 사용되어야 하는 객체의 경우UI 이벤트 처리 2. 재사용성이 없고, 확장성을 활용하는 것이 유지보수에 불리할 때재사용성이 없어서 매번 클래스를 생성해야 하는 비용이 더 많을때부모 클래스를 상속 받는 자식 클래스를 생성하지 않고도 단일한 객체를 만들어서 부모 클래스에 정의된 메서드의 행위를 추가할 수 있음 특징클래스 선언과.. 2024. 4. 23. 이전 1 2 3 4 5 6 7 8 ··· 10 다음