Object 클래스 java.lang 패키지 ● 프로그래밍시 import 하지 않아도 자동으로 imort됨 ● import.java.lang.*; ● 많이 사용하는 기본 클래스들이 속한 패키지 ● String, System... 모든 클래스는 Object 클래스를 상속 받는다 ● java.lang.Object 클래스 ● 모든 클래스의 최상위 클래스는 ● 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 ● 컴파일러가 extends Object를 추가함 ● class Student => class Student extends Object 패키지 관련된 클래스 및 인터페이스 등을 모아 놓은 폴더 패키지에 클래스들이 존재함 패키지이름은 소문자로 시작 ...
인터페이스란? ● 모든 메서드가 추상 메서드로 선언됨 public abstract ● 모든 변수는 상수로 선언됨 public static final package ch10; public interface RemoteController { // 인터페이스란? // 구현된 것이 아무것도 없는 밑 그림만 있는 기본 설계도 이다. // 특징 // 멤버 변수, 일반 구현 메서드를 가질 수 없다. // 오직 추상 메서드와 상수만을 멤버로 가질 수 있다. // 인터페이스는 표준, 약속(강제성있는규칙), 규약을 의미한다. // 추상클래스보다 추상화가 더 높다. - 기능적인 측면으로 많이 활용한다. public static final int SERIAL_NUMBER = 100; // 상수만을 가질 수 있다. //publ..
추상 클래스란? 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스 메서드 선언(declaration) : 반환타입, 메서드 이름, 매개변수로 구성 메서드 정의(definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body) 를 가짐 ({ }) 예) int add(int x, int y); // 선언 int add(int x, int y){ } // 구현부가 있음, 추상 메서드 아님 abstract 예약어를 사용 추상 클래스는 new 할 수 없음 ( 인스턴스화 할 수 없음 ) 추상 클래스 구현하기 메서드에 구현 코드가 없으면 abstract 로 선언 abstract로 선언된 메서드를 가진 클래스는 abstract로 선언 모든 ..
다형성 ● 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 ● 같은 코드에서 여러 다른 실행 결과가 나옴 ● 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나임 ● 다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음 학습목표 1. 다형성에 대한 개념을 이해하자 2.업 캐스팅이란 무엇일까? 3.다운캐스팅이란 무엇일까? 4.instance of란 무엇일까? 다형성 예제 Animal 클래스 package ch05; public class Animal { public void move() { System.out.println("동물이 움직입니다."); } public void eating() { System.out.println("동물이 먹이를 먹습니다. ..
클래스 상속 ● 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance) 받아서 속성이나 기능을 확장하여 클래스를 구현함 ● 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속함 ● 상속하는 클래스 : 상위 클래스, parent class, super class ● 상속받는 클래스 : 하위 클래스, child class, subclass 상속을 구현 하는 경우 ● 상위 클래스는 하위 클래스 보다 더 일반적인 개념과 기능을 가짐 ● 하위 클래스는 상위 클래스 보다 더 구체적인 개념과 기능을 가짐 ● 하위 클래스가 상위 클래스의 속성과 기능을 확장 (extends)한다는 의미 상속 예제 package ch01; public class A { Str..
배열이란? 배열(array)이란 연관된 데이터를 모아서 통으로 관리하기 위해서 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이라고 할 수 있다. ● 동일한 자료형의 순차적 자료 구조 ● 인덱스 연산자[]를 이용하여 빠른 참조가 가능 ● 물리적 위치와 논리적 위치가 동일 ● 배열의 순서는 0부터 시작 ● 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열 선언과 초기화 배열 선언하기 int[] arr1 = new int[10]; int arr2[] = new int[10]; 배열요소의 개수 .length 개수 정하고 바로 초깃값 주면 오류 int[ ] g = new int[5] {10, 20, 30, 40..