Java9 [Java] this 와 this() super 와 super() this this 참조변수로 객체(인스턴스) 자신을 가르킵니다. 참조변수를 통해 인스턴스의 멤버에 접근할 수 있는것처럼, this 로도 인스턴스 변수에 접근이 가능합니다. this 를 사용할 수 있는 것은 인스턴스 멤버뿐 입니다. 정적(static) 메서드에서는 인스턴스 멤버를 사용할 수 없는 것처럼, this 도 사용할 수 없습니다. 왜냐하면 정적 메서드는 인스턴스를 생성하지 않고도 호출될 수 있으므로 정적 메서드 호출된 시점에 인스턴스가 존재하지 않을 수 있기 때문입니다. 생성자를 포함한 모든 인스턴스 메서드에는 자신이 관련된 인스턴스를 가리키는 참조변수 this가 지역변수로 숨겨진 채 로 존재합니다. public class Hambuger { int pattyNumber; boolean cheese.. 2022. 10. 25. [Java] 추상클래스(Abstarct Class) 인터페이스(Interface) 추상 클래스 추상 클래스는 미완성 클래스를 말합니다. 미완성 클래스는 미완성 메서드인 추상 메서드를 포함하고 있다는걸 의미합니다. 추상 클래스로는 객체(인스턴스)를 생성할 수 없으며 추상 클래스를 상속한 자식 클래스가 생성할 수 있습니다. 추상 클래스로 클래스의 역할을 전부 할 수는 없지만 새로운 클래스의 기반이 되는 부모 클래스의 역할을 하게 됩니다. 예를 들어 호랑이, 독수리, 상어 라는 클래스가 있다면 이 3개의 클래스는 move() 라는 메서드를 공통적으로 가지고 있습니다. public class Tiger{ public String move() { return "호랑이는 네 발로 이동"; } } public class Eagle{ public String move() { return "독수리는 .. 2022. 10. 25. [Java] 열거형 타입 Enum ̱ Enum 열거형은 서로 관련된 상수들을 편리하게 선언할 때 서용합니다. 원래 자바에는 C 언어와 달리 열거형이 없었지만 JDK 1.5 버전 이후에 새로 추가되어 C 언어보다 더 향상된 열거형을 갖게됩니다. 열거형의 장점 1. 기존처럼 static final 로 정의한 상수를 ==(동등 연산자)로 비교할 때는 값만 체크했지만 열거형 타입 상수로 비교하면 값뿐만 아니라 타입까지 체크하기 때문에 타입에 안전합니다. 2. 기존에 정의한 상수 값이 바뀐다면, 해당 상수를 참조하는 모든 코드를 다시 컴파일해야 하지만 열거형 상수를 사용하면 기존 코드를 다시 컴파일 할 필요가 없습니다. 열거형 정의 방법 예제를 살펴보겠습니다. public enum DayOfTheWeek { SUNDAY("일", 1), MONDA.. 2022. 10. 22. [Java] Optional<T> Optional Optional 클래스는 JDK 1.8 버전부터 추가된 제네릭 클래스로 'T 타입의 객체' 를 감싸는 래퍼 클래스입니다. 제네릭 클래스이므로 Optional 타입의 객체에는 모든 타입의 참조변수를 담을 수 있습니다. Optional 클래스를 사용하면 최종 연산의 결과를 그냥 반환하는게 아닌 Optional 객체에 담아서 반환하는 것입니다. 이렇게 객체에 담아서 반환을 하면 반환된 결과가 null 인지 매번 if 문으로 체크하지 않고 Optional 에 정의된 메서드를 통해 간단히 처리할 수 있습니다. Optional 을 통해 null 체크를 위한 if 없이도 NPE(NullPointException) 가 발생하지 않는 보다 간결하고 안전한 코드를 작성하는 것이 가능해진 것입니다. Opti.. 2022. 10. 10. 이전 1 2 3 다음