본문 바로가기

✏️Java 공부18

[Java 공부/Java의 정석] Chapter.07 : 객체지향 프로그래밍 2 - 1 (상속) 상속 상속은 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것을 말한다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 상속을 구현하는 법은 간단하다. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써주면 된다. class Child extends Parent { ... } 이 때 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '부모 클래스', 상속받는 클래스를 '자식 클래스'라고 한다. 자식 클래스는 부모 클래스의 모든 멤버(변수, 메서드)를 상속받기 때문에 항상 조상 클래스보다 같거나 많은 멤버를 갖는.. 2022. 7. 4.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 5 (생성자) 생성자 생성자는 인스턴스가 생성될 떄 호출되는 '인스턴스 초기화 메서드'이다. 주로 인스턴스 변수의 초기화 작업에 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 차이점이 있다. 그렇다고 생성자 앞에 리턴값 이 없음을 뜻하는 void를 사용하지는 않고, 아무 것도 적지 않는다. 생성자는 오버로딩이 가능하기 때문에 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. 생성자는 다음과 같은 조건을 가진다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. 기본 생성자 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 하지만 지금까지 클래스에 생성.. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 4 (오버로딩) 오버로딩이란 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라고 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 한 클래스 내에서 같은 이름의 메서드를 여러 개 정의하는 것을 '오버로딩'이라고 한다. 오버로딩의 조건 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 한다. 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 메서드의 이름이 같더라도 매개변수가 다르면 서로 구별될 수 있기 때문에 오버로딩이 가능한 것이다. 위 조건들을 만족시키지 못하는 메서드는 중복 정의로 간주되.. 2022. 7. 1.
[Java 공부/Java의 정석] Chapter.06 : 객체지향 프로그래밍 1 - 3 (기본형 매개변수와 참조형 매개변수) 매개변수의 종류 자바에서는 메서드를 호출할 때 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨준다. 매개변수의 타입이 기본형(primitive type)일 때는 기본형 값이 복사되겠지만, 참조형(reference type)이면 인스턴스의 주소가 복사된다. 기본형 매개변수 변수의 값을 읽기만 할 수 있다.(read only) 참조형 매개변수 변수의 값을 읽고 변경할 수 있다.(read & write) 기본형 매개변수의 예 class Data { int x; } public class PrimitiveParam { public static void main (String args[]) { Data data = new Data(); data.x = 10; System.out.println("X의 값은.. 2022. 7. 1.