본문 바로가기

객체 지향 프로그래밍/Java10

chapter 8. 상속과 다형성 (수정중) 8-1. 상속이란? 클래스의 상속 객체지향 프로그래밍의 중요한 특징 중 하나가 상속(inheritance)이다. 상속은 일반적으로 알 듯 무언가를 물려받는다는 의미이다. B 클래스가 A 클래스를 상속받으면 B 클래스는 A 클래스의 멤버 변수와 메서드를 사용할 수 있다. 클래스 상속 문법 자바 문법으로 상속을 구현할 때는 extends 예약어를 사용한다. 이때 사용하는 extends 예약어는 '연장, 확장하다'의 의미이다. 즉 A가 가지고 있는 속성이나 기능을 추가로 확장하여 B클래스를 구현한다는 뜻이다. 즉 A가 가지고 있는 속성이나 기능을 추가로 확장하여 B 클래스를 구현한다. class B extends A {//'B 클래스가 A 클래스를 상속받는다' } 상속을 사용하여 고객 관리 프로그램 구현하기 .. 2022. 3. 18.
chapter 7. 배열과 ArrayList 7-1. 배열이란? 배열 선언과 초기화 자료형[] 배열이름 = new 자료형[갯수]; 자로형 배열이름 = new 자료형[갯수]; 배열을 사용하려면 먼저 배열을 선언해야 한다. 배열도 변수와 마찬가지로 자료형을 함께 선언한다. 배열을 이루는 각각의 자료를 배열 요소라고 한다. 배열 요소는 자료형이 모두 같다. 먼저 저장하려는 자료의 성격에 맞게 자료형을 정하고 선언하려는 배열 요소 개수만큼 []안에 적는다. new 예약어는 배열을 새로 만들라는 의미이다. int[] studentIDs = new int[10];//int형 요소가 10개인 배열 선언 배열 초기화 하기 자바에서 배열을 선언하면 그와 동시에 각 요소의 값이 초기화된다. 배열의 자료형에 따라 정수는 0, 실수는 0.0, 객체 배열은 null로 초.. 2022. 3. 15.
chapter 6. 클래스와 객체2 6-1. this 예약어 자신의 메모리를 가리키는 예약어 this는 간단히 설명하면 생성된 인스턴스 스스로 가리키는 예약어이다. 이 외에도 다른 역할로 this를 사용할 수 있다. 생년월일을 의미하는 BirthDay 클래스를 만들고, this가 실제로 어던 의미인지 알기 위해 this를 출력하는 메서드를 추가해보자. package thisex; class BirthDay { int day; int month; int year; // 태어난 연도를 지정하는 메서드 public void setYear(int year){ this.year = year;//bDay.year = year;과 같음 } // this 출력 메서드 public void printThis(){ System.out.println(this.. 2022. 3. 12.
chapter 9. 추상 클래스 9-1. 추상 클래스 추상 클래스란? 추상 클래스를 영어로 표현하면 abstract class이고, 추상 클래스가 아닌 클래스는 concrete class라고 한다. 현재까지 만든 클래스는 모두 concrete이다. 추상 클래스는 항상 추상 메서드를 포함한다. 추상 메서드는 구현 코드가 없다. 함수의 구현 코드가 없다는 것은 함수 몸체(body)가 없다는 뜻이다. int add(int x, int y){ return x + y;// {} 안의 내용이 함수 몸체 } 중괄호 {}로 감싼 부분을 함수 구현부라고 한다. 이 부분이 없는 함수는 추상 함수이고 자바에서는 추상 메서드라고 한다. 추상 메서드는 다음과 같이 선언만 하며 abstract 예약어를 사용한다. 그리고 {} 대신 ;를 쓴다. abstract .. 2022. 3. 11.