Java
[Java] Enum
Enum enum은 "Enumeration" 의 약자로 "열거, 목록, 일람표" 라는 뜻을 가지고 있다. 보통은 열거형이라 부른다. 열거형, Enum은 요소, 멤버라 불리는 명명돈 값의 집합을 이루는 자료형이다. 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자다. 자바 Enum은 상수 컬렉션을 정의하는 데 쓰이는 특수한 자바 유형(type)이다. 열거형에는 상수, 메서드 등이 포함될 수 있으며 자바 1.5부터 추가되었다. 쉽게 말해 Enum은 열거형이라 불리며, 서로 연관된 상수들의 집합을 의미한다. 기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있다. Enum의 장점 코..
[Java] equals() 와 hashCode
equals() equals()는 보통 동일한 객체인지 확인할 때 사용한다. 항상 그런 것은 아니다. String의 경우 문자열이 동일한지 확인할 때 사용 // Object의 equals() public boolean equals(Object obj) { return (this == obj); }hashCode 객체 해시코드란 객체를 식별하는 하나의 정수값을 말한다. Object의 hashCode() 메소드는 객체의 메모리 번지를 이용해서 해시코드를 만들어 리턴하기 때문에 객체 마다 다른 값을 가지고 있다. 객체의 값을 동등성 비교시 hashCode()를 오버라이딩할 필요성이 있는데, 컬렉션 프레임워크에서 HashSet, HashMap, HashTable은 다음과 같은 방법으로 두 객체가 동등한지 비교한..
[Java] toString() 메서드
"Object" 클래스가 가진 메소드 중 "toString"메소드가 있다. 물론 "Object"클래스의 모든 메소드는 모든 클래스가 사용가능하다. "toString" 메서드는 객체가 가지고 있는 정보나 값들을 문자열로 리턴하는 메소드이다. Object 그럼 Object 클래스는 무엇인가? Object 클래스는 모든 클래스의 가장 최상위 클래스이다. Java에서 제공하는 모든 클래스들의 계층 구조로 되어있고, 그 최상위로 올라가면 "Object"dlfksms zmffotmrk whswogksek. 우리가 일반적으로 생성하는 클래스도 "extends"로 직접 상속하지는 않지만 자바 컴파일러는 일반 클래스를 "Object"하위 클래스로 자동 설정하게 되어 있다. 즉, 자바 라이브러리나 유저가 만든 모든 클래스..
[자바] super와 super()
super super 키워드는 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 데 사용하는 참조 변수이다. 인스턴스 변수의 이름과 지역 변수의 이름이 같을 경우 인스턴스 변수 앞에 this 키워드를 사용하여 구분할 수 있었다 이와 마찬가지로 부모 클래스의 멤버와 자식 클래스의 멤버 이름이 같을 경우 super 키워드를 사용하여 구별할 수 있다. this와 마찬가지로 super참조 변수를 사용할 수 있는 대상도 인스턴스 메소드뿐이며, 클래스 메소드에서는 사용할 수 없다. lass Parent { int a = 10; } class Child extends Parent { void show() { System.out.println(a); System.out.println(this.a); ..