JAVA 개념/Part 02; 객체 지향 프로그래밍 5

[이것이 자바다] CHAPTER 05. 참조 타입

5.1 데이터 타입(Data Type) 분류분류종류기본 타입(primitive type)정수 타입byte, char, short, int, long실수 타입float, double논리 타입booean참조 타입(reference type)배열 타입열거 타입클래스인터페이스 객체란?데이터와 메소드로 구성된 덩어리. 미리 만들어진 프로그램 덩어리.     객체 = 데이터(필드) + 메소드   두 데이터 타입의 변수들은 모두 스택(stack)이라는 메모리 영역에 생성되는데, 기본 타입으로 선언된 변수는 값 자체를 저장하지만, 참조 타입으로 선언된 변수는 힙(heap)에 생성된 객체의 생성된 메모리 번지를 저장한다.          5.2 메모리 사용 영역  java 명령어로 JVM이 구동되면(java 명령을 실행..

[이것이 자바다] CHAPTER 11. 예외 처리

11.1 예외 예외 클래스 자바에서는 컴퓨터 하드웨어의 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 에러(error)라고 한다. 개발자는 이런 에러에 대처할 방법이 없다.  자바에서는 잘못된 사용 또는 코딩으로 인한 오류를 예외(exception)라고 한다. 예외가 발생하면 프로그램이 곧바로 종료된다는 점에서 에러와 동일하지만, 예외 처리를 통해 계속 실행 상태를 유지할 수 있다.일반 예외(Exception)컴파일러가 예외 처리 코드 여부를 검사하는 예외를 말한다.실행 예외(Runtime Exception)컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외를 말한다.  자바는 예외가 발생하면 예외 클래스로부터 객체를 생성한다. 이 객체는 예외 처리 시 사용된다. 자바의 모든 에러와 예외 클래스..

[이것이 자바다] CHAPTER 09. 중첩 선언과 익명 객체 │ 개념

9.1 중첩 클래스  여러 클래스와 관계를 맺어 상호작용하는 경우 클래스를 독립적으로 선언하는 것이 좋으나, 특정 클래스만 관계를 맺을 경우 중첩 클래스로 선언하는 것이 유지보수에 도움이 되는 경우가 많다.  중첩 클래스(Nested Class)란 클래스 내부에 선언한 클래스를 말하는데, 중첩 클래스 사용 시 클래스의 멤버를 쉽게 사용할 수 있고 외부에서는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다. 선언하는 위치에 따라 클래스의 멤버로서 선언되는 중첩 클래스인 멤버 클래스와 메소드 내부에서 선언되는 중첩 클래스인 로컬 클래스로 나뉜다.선언 위치에 따른 분류선언 위치객체 생성 조건멤버 클래스인스턴스멤버 클래스class A { class B { ··· }}A 객체를 생성해야만B 객체를 생..

[이것이 자바다] CHAPTER 08. 인터페이스 │ 개념

8.1 인터페이스 역할 인터페이스(interface)는 사전적인 의미로 두 장치를 연결하는 접속기를 말한다. 여기서 두 장치를 서로 다른 객체로 본다면, 인터페이스는 이 두 객체를 연결하는 역할을 한다.    객체 A가 인터페이스의 메소드를 호출하면, 인터페이스는 객체 B의 메소드를 호출하고 그 결과를 받아 객체 A로 전달해준다. 인터페이스 사용하는 이유는 다음과 같다.  객체 A는 인터페이스의 메소드만 사용하므로 다른 객체가 교체되는 것에 관심이 없다. 객체 A가 인터페이스의 메소드를 호출한다면 실제로 실행되는 것은 객체 B 또는 객체 C의 메소드이다.  만약  인터페이스 없이 객체 A가 객체 B를 직접 사용한다면 객체 A의 소스 코드를 객체 B에서 객체 C로 변경하는 작업이 추가로 필요할 것이다. 객..

[이것이 자바다] CHAPTER 07. 상속 │ 개념

7.1 상속 개념 상속(Inheritance)란 부모가 자식에게 물려주는 행위이다. 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여 개발 시간을 단축시킨다. 클래스의 수정을 최소화할 수도 있다. 부모 클래스를 수정하면 모든 자식 클래스에 수정 효과를 가져온다.      7.2 클래스 상속 자식이 부모를 선택한다. 자식 클래스를 선언할 때 상속받을 부모를 결정하고, 부모 클래스를 extends 뒤에 기술한다. 다중 상속을 허용하지 않으므로 extends 뒤에는 단 하나의 부모 클래스만이 와야 한다.public class 자식클래스 extends 부모클래스 {}      7.3 부모 생성자 호출자식 객체를 생성하면 부모 객체가 먼저 생성된 다음 자식 객체가 생성된다.자..