Java(24)
-
패키지
1. 패키지 - 패키지란, 클래스의 묶음이다. - 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어놓음으로써 클래스를 효율적으로 관리할 수 있다. - 모든 클래스는 반드시 하나의 패키지에 속해야 한다. - 패키지는 점(.)을 구분자로 하여 계층구조로 구성할 수 있다. - 패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉토리이다. 2. 패키지의 선언 - package 패키지명; - 하나의 소스파일에는 반드시 첫번째 문장으로 단 한 번의 패키지 선언만을 허용한다. 3. import문 - 클래스의 코드를 작성하기 전에 import문으로 사용하고자하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할..
2023.06.15 -
오버라이딩
1. 오버라이딩이란? - 오버라이딩이란 조상클래스로부터 상속받은 메서드의 내용을 변경하는 것이다 - 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스 자신에 맞게 변경해야하는 경우 조상의 메서드를 오버라이딩하여 사용한다 2. 오버라이딩의 조건 1) 자손클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와 선언부가 일치해야한다 (이름, 매개변수, 반환타입 일치) 2) 접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할 수 없다 3) 예외는 조상클래스의 메서드보다 많이 선언할 수 없다 4) 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다. 3. 오버로딩 vs. 오버라이딩 - 오버로딩: 기존에 없는 새로운 메서드를 정의하는 것. 즉 이름은 똑같지만 "매개변수를" 다르게 ..
2023.06.15 -
상속
1. 상속의 정의와 장점 - 상속: 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 상속의 장점 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다 코드의 재사용성을 높히고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다 - 상속 구현법 class Child extends Parent { ... } - 상속해주는 클래스 -> 조상클래스, 부모클래스, 상위 클래스, 기반(base)클래스 상속 받는 클래스 -> 자손클래스, 자식클래스, 하위클래스, 파생(derived)클래스 - 상속 특징 생성자와 초기화블럭은 상속되지 않는다. 멤버만 상속된다 자손클래스의 멤버개수는 조상클..
2023.06.15 -
변수의 초기화
1. 변수의 초기화 - 변수 초기화: 변수를 처음 만들고 값을 저장하는 것 - 멤버변수와 배열의 초기화는 선택적이지만, 지역변수의 초기화는 필수적이다. - 멤버변수의 초기화 방법 : 명시적 초기화, 생성자, 초기화 블럭 2. 명시적 초기화 - 변수 선언과 동시에 초기화하는 것 3. 초기화 블럭 초기화 작업이 복잡하여 명시적 초기화만으로는 부족한 경우에 초기화 블럭을 사용한다 1) 클래스 초기화 블럭 - 클래스변수의 복잡한 초기화에 사용된다. - static { } - 클래스가 메모리에 처음 로딩될 때 단 한번만 수행됨 2) 인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다. - { } - 인스턴스를 생성할 때 마다 수행됨. - 생성자보다 인스턴스 초기화 블럭이 먼저 수행된다. 4..
2023.06.15 -
생성자
1. 생성자란? - 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. - 생성자의 조건 1) 생성자의 이름은 클래스의 이름과 같아야한다. 2) 생성자는 리턴 값이 없다. - Card c = new Card(); 1) 연산자 new에 의해 메모리에 Card클래스의 인스턴스가 생성된다 2) 생성자 Card()가 호출되어 수행된다 3) 연산자 new의 결과로 생성된 Card 인스턴스의 주소가 반환되어 참조변수 c에 저장된다 2. 기본생성자 - 컴파일러가 제공하는 기본 생성자 - 클래스이름() { } - 기본 생성자가 컴파일러에 의해서 추가되는 경우는 클래스에 정의된 생성자가 하나도 없을 때뿐이다. 3. 매개변수가 있는 생성자 - 생성자도 메서드처럼 매개변수를 선언하여 호출 시 값을..
2023.06.15 -
오버로딩
1. 오버로딩이란? - 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. - 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩' 간단히 '오버로딩'이라고 한다. 2. 오버로딩의 조건 - 메서드 이름이 같아야한다. - 매개변수의 개수 또는 타입이 같아야한다. (반환타입은 오버로딩을 구현하는 데 아무런 영향을 주지 못한다) 3. 오버로딩의 예 - 가장 대표적인 예시는 println()이다. - println의 매개변수로 어떤 타입을 넣느냐에 따라 호출되는 println메서드가 달라진다. 4. 오버로딩의 장점 - 같은 기능을 하는 메서드에 매..
2023.06.15