본문 바로가기

전체 글177

2024.07.10 (수) {퀴즈 코드 연습} 맥북 이클립스 단축키  커맨드 + / = 주석커맨드 + shift + f = 코드 자동 정리shift + 옵션 + r = 변수명 일괄 변경 2024. 7. 10.
2024.07.09 (화) {코드연습, 마커 인터페이스} 인터페이스 디폴트 액세스 마디파이어 - public 클래스는 패키지-프라이빗(package-private)  마커 인터페이스(Marker Interface)  메서드나 필드를 가지지 않는 인터페이스로, 클래스에 특정 속성이나 동작을 지정하기 위해 사용됩니다. 마커 인터페이스는 단순히 "표시" 역할만 하며, 특정 클래스가 해당 인터페이스를 구현하는지를 확인함으로써, 해당 클래스가 어떤 특별한 기능을 제공하는지 또는 특정 작업을 수행할 수 있는지를 결정할 수 있습니다. 선언에 static 수정자가 있는 정적 메서드는 클래스의 인스턴스를 생성할 필요 없이 클래스 이름으로 호출해야 합니다.ClassName.methodName(args) 특정 인터페이스를 구현한 구체(클래스)의 인스턴스를 참조하는 변수 타입은 앞.. 2024. 7. 9.
2024.07.08 (월) { super키워드, 클래스캐스트익셉션), 다중상속, 공변리턴타입, 암시적-명시적 변환, clone()메서드 } super 키워드super 키워드는 부모 클래스의 메서드나 생성자를 호출할 때 사용됩니다. 이는 주로 서브 클래스가 부모 클래스의 메서드를 재사용하거나 부모 클래스의 생성자를 호출하여 초기화 작업을 수행하기 위해 사용됩니다.생성자는 멤버가 아니므로 하위(자식) 클래스에서 상속되지 않지만 상위(부모) 클래스의 생성자는 하위 클래스에서 호출될 수 있습니다. 부모클래스class Parent { // 부모 클래스의 생성자 public Parent(String name) { System.out.println("Parent initialized with name: " + name); } // 부모 클래스의 메서드 public void display() { .. 2024. 7. 8.
"섀도잉(Shadowing)"과 "하이딩(Hiding)" "섀도잉(Shadowing)"과 "하이딩(Hiding)"비슷한 개념처럼 보일 수 있지만, 약간의 차이가 있습니다. 두 개념 모두 서브클래스에서 슈퍼클래스의 멤버를 다시 정의하는 경우를 다루지만, 적용되는 멤버 유형과 그 동작 방식에서 차이가 있습니다. 섀도잉(Shadowing)섀도잉은 서브클래스에서 슈퍼클래스의 인스턴스 변수(필드)를 다시 정의할 때 발생합니다. 이 경우, 서브클래스의 필드가 슈퍼클래스의 필드를 "섀도"합니다.자바에서 클래스의 필드와 메서드의 로컬 변수 간에 이름이 동일할 때, 로컬 변수가 해당 이름을 "섀도우"(shadow)합니다. 즉, 메서드 내에서 동일한 이름을 가진 로컬 변수가 필드를 가리기 때문에, 해당 메서드 내에서는 로컬 변수가 사용됩니다.class SuperClass { .. 2024. 7. 8.
캐스팅 ( Casting ) 캐스팅 (Casting )객체나 변수를 다른 타입으로 변환하는 과정을 의미합니다. 캐스팅은 주로 데이터 타입의 호환성 문제를 해결하기 위해 사용됩니다.자바에서는 두 가지 주요 캐스팅이 있습니다: 기본형 캐스팅과 참조형 캐스팅기본형 캐스팅 (Primitive Casting)기본형 캐스팅은 숫자 타입 간의 변환을 의미합니다. 기본형 캐스팅은 자동(암시적)과 강제(명시적) 캐스팅으로 나눌 수 있습니다.1. 암시적 캐스팅 (Implicit Casting)더 작은 크기의 타입에서 더 큰 크기의 타입으로 변환할 때 자동으로 수행됩니다. 예를 들어, int에서 long으로 변환하는 경우입니다.int num = 10;long longNum = num; // 암시적 캐스팅2. 명시적 캐스팅 (Explicit Castin.. 2024. 7. 5.
2024.07.05 (금) {인터페이스, 디폴트메서드, relatable인터페이스, 해시함수, 해시코드, 타입캐스팅 } 인터페이스(Interface)다른 클래스들이 구현해야 하는 메서드들을 정의하는 추상 타입입니다. 인터페이스는 클래스가 제공해야 하는 행동의 규약을 정의하며, 클래스와 달리 인터페이스 자체는 구현을 포함하지 않습니다. 자바의 인터페이스는 다중 상속을 우회하는 방법으로 많이 사용됩니다.단, 클래스와는 달리 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract이어야 합니다.이 부분은 모든 인터페이스에 공통으로 적용되는 부분이므로 이 제어자는 생략할 수 있습니다.이렇게 생략된 제어자는 컴파일 시 자바 컴파일러가 자동으로 추가해 줍니다.인터페이스의 특징추상 메서드: 인터페이스는 기본적으로 구현 없이 메서드 시그니처만을 가집니다. 자바 8부터는 디폴트 .. 2024. 7. 5.