본문 바로가기

JAVA/JAVA 이론

(8)
[JAVA 이론] 추상화(Abstraction) [JAVA 심화] 1. 상속(Inheritance) 2. 캡슐화(encapsulation) 3. 다형성(Polymorphism) 4. 추상화(Abstraction) 개요 자바 객체지향 프로그래밍의 네 가지 주요 특성 중 마지막 특성인 추상화에 대해 공부해 보도록 하겠습니다. 학습목표 추상화의 핵심 개념과 목적을 이해하고 설명할 수 있다. abstract 제어자가 내포하고 있는 의미를 이해하고, 어떻게 사용되는지 설명할 수 있다. 추상 클래스의 핵심 개념과 기본 문법을 이해할 수 있다. final 키워드를 이해하고 설명할 수 있다. 자바 추상화에서 핵심적인 역할을 수행하는 인터페이스의 핵심 내용과 그 활용을 이해할 수 있다. 추상 클래스와 인터페이스의 차이를 설명할 수 있다. 추상화 "추상" 이라는 용어의..
[JAVA 이론] 다형성(polymorphism) [JAVA 심화] 1. 상속(Inheritance) 2. 캡슐화(encapsulation) 3. 다형성(Polymorphism) 4. 추상화(Abstraction) 개요 자바 객체지향 프로그래밍의 네 가지 요소 중 가장 핵심적인 부분인 다형성에 대해서 공부해 보도록 하겠습니다. 학습목표 자바 객체지향 프로그래밍에서 다형성이 가지는 의미와 장점을 이해할 수 있다. 참조변수 타입 변환에 대한 내용을 이해하고, 업캐스팅과 다운캐스팅의 차이를 설명할 수 있다. instanceof 연산자를 활용하는 방법을 이해하고 설명할 수 있다. 코딩 예제를 실제로 입력해 보면서 다형성이 실제로 어떻게 활용되는지 이해할 수 있다. 다형성 다형성(polymorphism)이란 "여러 개"를 의미하는 poly와 어떤 "형태"를 의미..
[JAVA 이론] 캡슐화(encapsulation) [JAVA 심화] 1. 상속(Inheritance) 2. 캡슐화(encapsulation) 3. 다형성(Polymorphism) 4. 추상화(Abstraction) 개요 자바 객체지향 프로그래밍의 네 가지 주요 특성 중 두 번째 특성인 캡슐화에 대한 내용을 공부해봅시다. 학습목표 캡슐화의 핵심 개념과 목적을 이해한다. 패키지의 개념과 import문이 어떻게 사용되는 지 이해할 수 있다. 자바에서 캡슐화를 달성하기 위한 핵심적인 수단으로 접근제어자 네 가지를 이해하고, 각각의 접근 가능 범위를 설명할 수 있다. 데이터를 효과적으로 보호하기 위한 수단으로 getter/setter 메서드를 이해하고 사용할 수 있다. 캡슐화 캡슐화란 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐(capsule)로 만들어 데..
[JAVA 이론] 상속(inheritance) [JAVA 심화] 1. 상속(Inheritance) 2. 캡슐화(encapsulation) 3. 다형성(Polymorphism) 4. 추상화(Abstraction) 개요 자바 심화에서는 자바의 4가지 주요 원칙인 상속성, 캡슐화, 다형성, 추상화에 대해 공부하고자 합니다. 이 4가지의 핵심 원리는 자바뿐만이 아니라 객체 지향 프로그래밍 설계를 지향하는 모든 언어에 공통적으로 적용되는 객체지향의 핵심 중추이자 기둥이라 할 수 있습니다. 자바의 객체지향 프로그래밍의 핵심 기둥 네 가지 중 우리가 첫 번째로 공부하게 될 내용은 상속입니다. 학습 목표 상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다. extends 키워드를 사용하여 두 개 이상의 클래스 간 상속 관계를 정의할..
[JAVA 이론] 내부 클래스(Inner Class) [JAVA 기초] 1. 클래스와 객체 2. 필드(Field)와 메서드(method) 3. 생성자(Constructor) 4. 내부 클래스(Inner Class) 개요 클래스 안의 클래스를 의미하는 내부 클래스에 대해 알아보겠습니다. 학습 목표 내부 클래스의 기본 개념과 장점에 대해 이해한다. 선언 위치에 따른 내부 클래스의 종류와 특징애 대해 이해한다. 내부 클래스의 종류에 따른 유효 범위와 접근성을 이해한다. 내부 클래스 내부 클래스(Inner Class)는 클래스 내에 선언된 클래스로, 외부 클래스와 내부 클래스가 서로 연관된 있을 때 사용됩니다. 내부 클래스를 사용하면 외부 클래스의 멤버들에 쉽게 접근할 수 있고, 코드의 복잡성을 줄일 수 있습니다. 아래의 예제 코드를 살펴보도록 하겠습니다. Cla..
[JAVA 이론] 생성자(Constructor) [JAVA 기초] 1. 클래스와 객체 2. 필드(Field)와 메서드(method) 3. 생성자(Constructor) 4. 내부 클래스(Inner Class) 개요 클래스의 구성 요소(필드, 메서드, 생성자, 내부 클래스) 중 생성자에 대해 알아보겠습니다. 학습 목표 생성자의 핵심 개념과 기본 문법을 이해한다. 생성자가 메서드와 구분되는 차이를 이해한다. 메서드 오버로딩이 생성자에서 어떻게 구현될 수 있는지 확인하고 이해한다. 기본 생성자와 매개변수가 있는 생성자의 차이를 설명한다. this와 this()의 차이에 대해서 이해한다. 생성자(Constructor) 우리는 앞서 new 키워드를 사용하여 객체를 생성할 때에 호출되는 것이 생성자입니다. 종종 생성자라는 이름에서 생성자가 인스턴스를 생성하는 역..
[JAVA 이론] 필드(Field)와 메서드(method) [JAVA 기초] 1. 클래스와 객체 2. 필드(Field)와 메서드(method) 3. 생성자(Constructor) 4. 내부 클래스(Inner Class) 개요 클래스는 크게 네 가지 요소로 구성되어 있습니다. 각각 필드(field), 메서드(method), 생성자(constructor), 그리고 이너 클래스(inner class)입니다. 그중 필드와 메서드는 각각의 클래스가 가지는 속성(state)과 기능(behavior)을 대표합니다. 일반적으로 하나의 객체는 다양한 속성과 기능의 집합으로 이뤄져 있습니다. 그리고 이러한 속성과 기능은 이너클래스와 함께 객체의 멤버(member)라 부릅니다. 이번 글을 통해 필드와 메서드에 대해 공부해 봅니다. 학습 목표 객체의 속성을 정의하는 필드를 이해합니다..
[Java 이론] 클래스와 객체 [JAVA 기초] 1. 클래스와 객체 2. 필드(Field)와 메서드(method) 3. 생성자(Constructor) 4. 내부 클래스(Inner Class) 개요 자바는 초기 설계부터 객체 지향 프로그래밍(Object Oriented Programming)으로 설계되었습니다. 그러므로 객체 지향을 이해하지 못한다면 JAVA가 어렵게 느껴질 수밖에 없습니다. 객체지향의 핵심은 바로 '클래스'와 '객체'입니다. 이번 글을 통해 클래스와 객체에 대해 알아보도록 합니다. 학습 목표 객체와 클래스를 이해한다. 원하는 객체를 만들기 위한 클래스를 정의할 수 있다. 클래스를 인스턴스화(객체화) 할 수 있다. 객체와 클래스 객체(Object)란? 'An object is a class instance or an a..