Java/강의 38

[📙 Java 문법 종합반] 객체지향 PART 2 - 상속

📙 목차상속(Inheritance) 이란?재사용성super확장재정의 - 메서드 오버라이딩(overriding)추상 클래스🧡 학습 목표상속이 무엇인지 학습한다.오버라이딩이 무엇인지 학습한다.추상클래스가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 상속(Inheritance) 이란?클래스간의 관계를 부모(상위), 자식(하위) 로 바라보는 개념이다.이 구조를 통해 상속에서는 재사용성, 확장 이 가능하다. → 물려받은 속성과 기능은 자식 클래스에서 재사용할 수도 있고, 확장할수도 있다.extends 키워드를 사용해서 상속관계를 구현한다.상속을 통해 코드 중복을 줄이고 유지보수성을 높일 수 있다.추상화, 다형..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-7. 객체지향 PART 1 - 캡슐화(접근제어자)

📙 목차캡슐화(Encapsulation)란?접근제어자(Access Modifier)데이터 접근 - 게터(Getter)와 세터(Setter)무분별한 세터가 무엇일까?🧡 학습 목표캡슐화가 무엇인지 학습한다.접근제어자가 무엇인지 학습한다.무분별한 세터가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 캡슐화(Encapsulation)란? 캡슐화란?객체의 정보를 외부에서 직접 접근하지 못하게 보호하는 개념이다.캡슐처럼 감싸서 내부를 보호하고 외부로부터 내용물을 숨기고 있는 모습에서 유래됐다.클래스 혹은 객체의 캡슐화는 접근제어자 를 통해서 구현할 수 있다. 캡슐화가 왜 필요할까?외부에 노출하고 싶지 않은 정보를 ..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 인터페이스 - 표준화의 시작

📙 목차인터페이스(interface)란?인터페이스를 사용하는 이유인터페이스 적용인터페이스의 다양한 기능인터페이스에 변수를 선언하는 경우실습과제🧡 학습 목표인터페이스가 무엇인지 학습한다.1. 인터페이스(interface)란?인터페이스는 설계 표준이다.클래스가 따라야할 최소한의 공통 규칙을 정의하는 역할을 한다.2. 인터페이스를 사용하는 이유개발자마다 서로 다른 방식으로 메서드를 만든다면 일관성이 깨질 수 있다.인터페이스를 활용해서 최소한의 규격을 정의한다.세부 구현은 각 클래스에 맡긴다.일관성을 유지하면서 클래스가 고유한 특색을 확장할 수 있도록 돕는다.3. 인터페이스 적용인터페이스는 클래스가 지켜야 할 최소한의 규칙을 정의한다.클래스에서 implements 키워드로 인터페이스를 활용할 수 있다.인터페..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-5. final - 변하지 않는 값

📙 목차final상수(Constant)불변객체(Immutable Object)🧡 학습 목표final 키워드에 대해서 학습한다.상수(Constant)와 불변객체(immutable object)가 무엇인지 학습한다.1. finalfinal 키워드변수는 변경이 불가능하게 만든다. 클래스는 상속할 수 없게 만든다. 메서드는 수정할 수 없게 만든다.(오버라이딩 불가) final int a = 100;a = 200; // ❌ 오류 발생!final class Animal { void sound() { System.out.println("Animal sound!"); }}// class Dog extends Animal {} // ❌ 오류! final 클래스는 상속할 수 없음class Par..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-4. static - 클래스가 공유하는 공간

📙 목차Static인스턴스 멤버(인스턴스 변수 + 인스턴스 메서드)클래스 멤버(클래스 변수 + 클래스 메서드)전체 코드 살펴보기Static 사용 시 주의사항🧡 학습 목표static 이 무엇인지 학습합니다.인스턴스 멤버와 클래스 멤버가 무엇인지 학습합니다.1. Static Static 이란?static 키워드는 모든 객체가 함께 사용하는 변수나 메서드를 만들때 사용된다.객체(인스턴스)를 만들지 않아도 클래스 이름만으로 바로 사용할 수 있다.모든 객체가 같은 값을 공유한다.static 변수와 메서드는 한 번만 생성되고 Method Area(메서드영역) 에 저장된다. Static 활용static 키워드는 변수, 메서드에 붙일 수 있다.static 키워드로 선언된 변수와 메서드는 MethodArea 에 저장..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-3. 래퍼클래스(기본형 참조형)

📙 목차래퍼클래스(Wrapper Class)란?기본형(Primitive Type)참조형(Reference Type)왜 래퍼클래스를 사용할까?오토박싱 vs 언박싱기본형과 래퍼형 성능 비교실습 과제🧡 학습 목표래퍼클래스가 무엇인지 학습한다.기본형과 참조형이 무엇인지 학습한다.1. 래퍼클래스(Wrapper Class)란?래퍼클래스기본자료형 을 객체로 감싸는 클래스 기본 자료형 (Primitive Type) 래퍼 클래스 (Wrapper Class)2. 기본형(Primitive Type)자료형종류범위바이트비트boolean논리형true/false18char문자형0 ~ 65535 유니코드 값216byte정수형-128 ~ 12718short정수형-32,768 ~ 32,767216int정수형-2,147,483,648..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-2. JVM 메모리 영역

📙 목차JVM 메모리 구조코드 흐름 살펴보기Method(static) 이해하기Heap 영역 이해하기Stack 영역 이해하기🧡 학습 목표JVM 메모리 영역을 학습한다.1. JVM 메모리 구조Java 메모리 구조는 크게 3가지로 나뉜다.2. 코드 흐름 살펴보기코드 실행 기각화 도구https://cscircles.cemc.uwaterloo.ca/java_visualize/ Java VisualizerWrite your Java code here: args: +command-line argument stdin (also visualizes consumption of StdIn) x cscircles.cemc.uwaterloo.ca public class Main { static class Perso..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-1. 클래스와 객체

📙 목차클래스(class)란?객체(object)란?클래스 구조(속성, 생성자, 기능)게터(getter)와 세터(setter)실습 과제🧡 학습 목표클래스와 객체가 무엇인지 학습한다.클래스를 직접 만들어보고 객체화하는 방법을 학습한다.1. 클래스(class)란?Java에서 클래스는 객체를 만들 때 필요한 청사진(설계도)이다.클래스의 첫 글자는 대문자2. 객체(object)란?실제로 존재하는 것우리가 주변에서 볼 수 있는 컴퓨터, 계산기, 자동차 같은 사물들이 객체이다.어떤 개념이나 논리 같은 것들도 객체가 될 수 있다.덧셈, 뺄셈 등 눈에 보이지 않은 것들도 무형의 객체가 될 수 있다.클래스가 준비되어 있다면 클래스를 기준으로 여러 객체들을 만들어 낼수 있다. Person.class - 사람이라는..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 1-10. 메서드 - 모듈화의 시작

📙 목차메서드(method): 작업단위를 표현하는 방법선언부(메서드가 정의되어 있는 곳)호출부(메서드를 호출하는 쪽)🧡 학습 목표메서드가 무엇인지 학습합니다.메서드의 호출부와 선언부의 차이를 학습합니다.void 가 무엇인지 학습합니다.return 이 무엇인지 학습합니다.1. 메서드(method): 작업단위를 표현하는 방법메서드(method)함수, 기능이라고도 한다.여러 개의 작은 명령문을 한곳에 모아 사용하는 단위를 메서드라고 한다.기능을 메서드로 분리하면 코드가 더 명확해지고 유지 보수가 쉬워진다.커피마시기(){ 1. 컵을 준비한다; 2. 컵에 커피를 따른다; 3. 컵에 담긴 커피를 마신다;} 메서드 구조메서드는 항상 클래스 내부에 존재한다.메서드는 호출부, 선언부로 나누어진다.호출부 - 메서드를..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 1-9. 배열 - 데이터 관리의 시작

📙 목차배열(Array)배열 탐색2차원 배열(Two-Dimensional Array)실습과제🧡 학습 목표배열(Array)이 무엇인지 학습한다.배열의 길이(Array length)와 요소(Array element)를 이해한다.인덱스(index) 를 활용해서 배열의 요소를 탐색하는 방법을 학습한다.향상된 반복문을 학습한다.2차원 배열이 무엇인지 학습한다.1. 배열(Array)배열 (Array)비슷한 주제의 데이터들을 하나의 그룹으로 묶어서 표현하는 방법이다.관련된 데이터를 편리하게 관리하기 위해 사용된다.모든 자료형의 종류로 배열을 만들 수 있다.String name1 = "gygim";String name2 = "Steve";String name3 = "Grace";...String name1000 =..

Java/강의 2025.04.15