본문 바로가기

전체 글111

자바의 유용한 클래스 / Object, String, StringBuilder, StringBuffer, textblock, Class 클래스 1. Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 프로그래밍시 import하지 않아도 자동으로 import 된다 import java.lang.*; 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System ...~ 모든 클래스는 Object 클래스를 상속 받는다 java.lang.Object 클래스 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 컴파일러가 자동으로 extends Object를 추가함 class Student >> class Student extends Object toString() 메서드 객체의 정보를 String으로 바꿔서 사용할 때 쓰인다 String이나 Inte.. 2022. 11. 22.
Java 객체지향 핵심 / 다운 캐스팅, 추상클래스, 추상클래스 응용, 인터페이스, DAO, 인터페이스 상속 8. 다운 캐스팅과 instanceof 다운 캐스팅 업 캐스팅된 클래스를 다시 원래의 타입으로 형 변환 하위 클래스로 형 변환은 명시적으로 해야함 Customer vc = new VIPCustomer(); // 묵시적 VIPCustomer vCustomer = (VIPCustomer)vc; // 명시적 instanceof를 이용하여 인스턴스의 형 체크 원래 인스턴스의 형이 맞는지 여부를 체크하는 키워드가 맞으면 true 아니면 false 반환 AniamlTest.java package ch08; import java.util.ArrayList; class Animal { public void move() { System.out.println("동물이 움직입니다."); } } class Human exte.. 2022. 11. 18.
Java 객체 지향 핵심 / 상속, 형 변환, 재정의(override), 다형성 1. 객체 간의 상속의 의미 클래스 상속 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속(inheritance)을 받아서 속성이나 기능을 확장하여 클래스를 구현 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함 상속 하는 클래스 : 상위클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 상속의 문법 class B extends A { } extends 키워드 뒤에는 단 하나의 클래스만 올 수 있다. 자바는 단일 상속만을 지원함 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념과 기능을 가짐 하위 클래스는 상위 .. 2022. 11. 17.
Java 객체지향 입문 / 배열, 객체 배열, 2차원 배열, ArrayList 20. 배열( Array ) 배열이란? 동일한 자료형의 순차적 자료 구조 인덱스 연산자 [ ]를 이용하여 빠른 참조가 가능 물리적 위치와 논리적 위치가 동일 배열의 순서는 0부터 시작 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용한다 배열 선언과 초기화 배열 선언하기 int[] arr1 = new int[10]; int arr2[] = new int[10]; 배열 초기화하기 배열은 선언과 동시에 자료형에 따라 초기화 됨 ( 정수는 0, 실수는 0.0, 객체는 null ) 필요데 따라 초기값을 지정할 수 있음 int[] number = new int[] {10, 20, 30}; // 개수 생략해야함 int[] number = {10,20,30}; // new int[] 생략 가능 int[] .. 2022. 11. 16.
Java 객체지향 입문 / static 변수, static 매서드, singleton 패턴 16. static 변수 공통으로 사용하는 변수가 필요한 경우 여러 인스턴스가 공유하는 기준 값이 필요한 경우 학생마다 새로운 학번 생성 카드회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여 회사에 사원이 입사할 때마다 새로운 사번이 필요함 static 변수 선언과 사용하기 static int serialNum; 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당 클래스 변수, 정적변수라고도 함 인스턴스 생성과 상관 없이 사용이 가능하므로 클래스 이름으로 직접 참조 Student.serialNum = 100; static 변수 테스트 하기 Employee.java public class Employee { public static int serial.. 2022. 11. 16.
Java 객체 지향 입문 / 접근 제어 지시자, 정보은닉, this, 객체간의 협력 10. 접근 제어 지시자( access modifier ), 정보은닉( information hiding ) 접근 제어 지시자 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private : 같은 클래스 내부에서만 접근 가능 ( 외부 클래스, 상속 관계의 클래스에서도 접근 불가 ) 아무것도 없음 ( default ) : 같은 패키지 내부에서만 접근 가능 ( 상속 관계라도 패키지가 다르면 접근이 불가함 ) protected : 같은 패키지나 상속 관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public : 클래스의 외부 어디서나 접근 할 수 있음 get() , set() 메서드 private 로 선언된 멤버 변수 ( 필드 )에 대해 .. 2022. 11. 9.