Java 35

[📙 Java 문법 종합반] 3-2. Optional - null 을 다루는 법

📙 목차Optional 이란?Optional 활용하기실습 과제🧡 학습 목표Optional 을 사용하는 이유와 개념을 학습한다.1. Optional 이란?null 을 안전하게 다루게 해주는 객체null 을 직접 다루는 대신 Optional 을 사용하면 NullPointerException 을 방지할 수 있다.NPE(NullPointerException) 예외는 런타임 예외이고 컴파일러가 잡아주지 못 한다.💡 null 이란?프로그래밍에서 값이 없음 또는 참조하지 않음 을 나타내는 키워드 예시 - Optional이 필요한 상황public class Student { private String name; public String getName() { return this.name;..

Java/강의 2025.04.16

Java 프로그래밍 기초 세션

일시 : 4/16(수) 14:00진행 : 김기용 튜터님장소 : zoom📙 목차프로그래밍 언어 - 자바변수: 데이터 저장 공간클래스와 객체 입출력 기능1. 프로그래밍 언어 - 자바자바는 모든 것이 클래스파일 단위: 클래스모든 코드는 클래스 안에 작성된다. 자바 프로그램 실행 과정 컴파일 - 컴파일을 통해 바이트코드를 만들기javac Main.java 실행 - 생성된 바이트 코드를 실행하기java Main2. 변수: 데이터 저장 공간변수 구조자료형: 저장할 데이터의 범위변수이름: 저장할 공간의 이름[자료형] [변수이름];int a;a = 1;3. 클래스와 객체용어 정리용어설명클래스(Class)객체를 만들기 위한 설계도객체(Object)클래스를 바탕으로 만들어진 실제 존재인스턴스(Instance)어떤 클래스..

[📙 Java 문법 종합반] 3-1. 예외(Exception)과 예외처리(try-catch)

📙 목차예외(Exception)예외 전파예외 구조와 종류실습 과제🧡 학습 목표Java의 예외처리에 대해서 학습한다.1. 예외(Exception) 예외(Exception)란?프로그램 실행 중 예상하지 못한 상황이 발생하는 것의도적으로 예외를 발생시킬 때는 throw 키워드를 통해 발생시킨다.예외를 처리하지 않으면 프로그램이 중단될 수 있다.예외처리(try-catch)를 통해 프로그램이 안정적으로 실행되게 할 수 있다. 예외 발생 예제의도하지 않은 예외아래 코드에서 10 / 0 연산을 수행하면서 ArithmeticException (산술예외)가 발생한다.0 으로 나누는 연산은 허용되지 않음으로 프로그램이 비정상적으로 종료된다.예외를 처리하지 않으면 이후 코드는 실행되지 않는다.public class Ma..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 2-10. 객체지향 PART 4 - 다형성

📙 목차다형성(Polymorphism)인터페이스를 활용한 다형성형변환(Casting)다형성의 장점 맛보기실습 과제🧡 학습 목표다형성이 무엇인지 학습한다.형변환이 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 다형성(Polymorphism)다형성이란?하나의 타입으로 여러 객체를 다룰 수 있는 객체지향의 4번째 특징이다.추상 계층 특징을 통해 다형성을 구현할 수 있다.2. 인터페이스를 활용한 다형성 클래스 구조 참고 2-9. 객체지향 PART 3 - 추상화📙 목차추상화인터페이스 상속을 활용한 추상 계층 표현클래스 상속을 활용한 추상 계층 표현실습과제🧡 학습 목표추상화가 무엇인지 학습한다.객체지향의 4가지..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-9. 객체지향 PART 3 - 추상화

📙 목차추상화인터페이스 상속을 활용한 추상 계층 표현클래스 상속을 활용한 추상 계층 표현실습과제🧡 학습 목표추상화가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 추상화추상화란?불필요한 정보를 제거하고 본질적인 특징만 남기는 것을 의미한다.객체지향 프로그래밍에서는 추상화의 계층적 특징을 활용해서 유지보수성이 좋은 프로그램을 만들 수 있다.계층구조를 자바의 특징(인터페이스 상속, 클래스 상속)을 통해 구현할 수 있다.추상화의 특징은 다형성에서 활용된다.2. 인터페이스 상속을 활용한 추상 계층 표현고양이 → 동물 → 생명체 public interface LifeForm { void exist(); //..

Java/강의 2025.04.15

[📙 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 문법 종합반] 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-1. 클래스와 객체

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

Java/강의 2025.04.15