☕ Java

    [Java] 불변 객체(Immutable Object)란?

    불변 객체의 개념과 장점, 불변 객체를 사용하는 방법을 소개합니다. ❏ 불변 객체?불변 객체(Immutable Object)란 객체 생성 이후에는 객체의 상태가 바뀌지 않는 객체를 의미한다. ❍ 불변 객체의 장점1️⃣ 객체의 대한 신뢰도가 높아지고, 안전하게 서비스 개발할 수 있다. 예를 들어, Pet이라는 객체가 name, age 등등의 필드를 가진 상황이다.... if (healthService.isBestRunner(pet)) { healthService.increasePoint(pet); } if (healthService.isNotHealthy(pet) { healthService.runTraining(pet); } ...pet이 Best Runner라면 increasePoint( )를 실행하고..

    [Java] 명품 JAVA Programming 5장 실습 코드

    CH.05 상속 [Java] 상속 || Java Programming1. 개념 상속이란, 부모 클래스의 필드와 메서드를 자식 클래스가 물려받는 것이다. 부모 클래스 == 슈퍼 클래스 자식 클래스 == 서브 클래스 ❗상속의 장점 코드 중복을 제거하여 클래스가 간결dmaolon00.tistory.com Bear & Fish GameBearimport java.util.Scanner; public class Bear extends GameObject{ public Bear(int startX, int startY, int distancce) { super(startX, startY, distancce); } @Override protected void move() { Scanner sc = new Scanne..

    클래스(Class) vs. 객체(Object) vs. 인스턴스(Instance)

    클래스(Class) vs. 객체(Object) vs. 인스턴스(Instance)

    📌클래스(Class)클래스란, 객체를 만들어 내는 설계도 혹은 틀이다.서로 연관되어 있는 변수, 메서드의 집합이다.class Animal { // 변수 String name; int age; // 메서드 void run(){ System.out.println(name + "달려"); } void eat(){...}} ❕ 클래스의 구성class 키워드를 이용하여 선언한다.필드 = 멤버 변수캡슐화의 원칙으로 클래스 외부에 어떤 변수나 메서드가 위치해서는 안된다.캡슐화 : 캡슐로 감싸서 내부를 보호하듯이, 외부로부터의 접근을 막아서 안전하게 보호하는 것📌객체(Object)실세계에서 우리 주변에 있는 TV, 책, 의자, 사람 등 모든 것이 객체이다.객체는 자신만의 고유한 상태와 행동을 가지며 서로 상호작용..

    [Java] 상속  || Java Programming

    [Java] 상속 || Java Programming

    1. 개념상속이란, 부모 클래스의 필드와 메서드를 자식 클래스가 물려받는 것이다. 부모 클래스 == 슈퍼 클래스 자식 클래스 == 서브 클래스 ❗상속의 장점코드 중복을 제거하여 클래스가 간결해진다. 클래스를 계층적으로 분류하여 관리하기가 용이하다. 클래스를 재사용하고 확장이 용이하므로 소프트웨어의 생산성이 향상된다. class Rabbit extends Animal{ ... }자바에서의 클래스는 다중 상속을 지원하지 않는다. 모든 클래스는 Object 클래스를 상속받게 된다. 2. 접근 지정자 privatedefaultprotectedpublic같은 패키지에 있는 클래스XOOO다른 패키지에 있는 클래스XXXO같은 패키지에 있는 서브 클래스XOOO다른 패키지에 있는 서브 클래스XXOO 3. 캐스팅(Cast..

    [Java] 오버로딩(Overloading) vs. 오버라이딩(Overriding)

    [Java] 오버로딩(Overloading) vs. 오버라이딩(Overriding)

    오버로딩오버로딩(Overloading)이란, 한 클래스 내에 이름이 동일한 메서드를 여러 개 작성하는 것이다. 메서드의 이름이 동일해야 한다. 매개변수의 개수나 타입이 달라야 한다. 메서드의 리턴 타입, 접근 지정자는 관계 없다. EX 1)class OverloadingExample { public int getSum(int x, int y) { return x + y; } public int getSum(int x, int y, int z) { return x + y + z; } }getSum으로 이름이 동일한 메소드 2개가 있다. 이 경우에는 메서드의 이름이 동일하고, 매개 변수의 개수가 2개, 3개로 다르기 때문에 오버로딩이 정상적으로 이루어진다. EX 2)class OverloadingExampl..

    [Java] 명품 JAVA Programming 4장 실습 코드

    CH.044장 클래스와 객체 내용 정리 [Java] 클래스와 객체 || Java Programming1. 객체 지향 언어의 특성 객체 지향(Object-Oriented)이란, 실세계 개체를 속성과 메서드를 통한 객체로 모형화하고, 객체를 조립하는 기법이다. - 캡슐화 캡슐화(Encapsulation)란 객체를 캡슐로 감싸서 dmaolon00.tistory.compackage Practice; import java.util.Dictionary; import java.util.Scanner; class Ex01 { String manufacturer; int year; int size; public Ex01(String manufacturer, int year, int size) { this.manufact..

    [Java] 클래스와 객체   ||   Java Programming

    [Java] 클래스와 객체 || Java Programming

    1. 객체 지향 언어의 특성객체 지향(Object-Oriented)이란, 실세계 개체를 속성과 메서드를 통한 객체로 모형화하고, 객체를 조립하는 기법이다.- 캡슐화캡슐화(Encapsulation)란 객체를 캡슐로 감싸서 내부를 보호하고 볼 수 없도록 하는 것이다. 객체의 세부 내용을 보호하여, 정보 은닉을 통해 외부에서의 변경에 대한 영향을 적게 받도록 한다. 인터페이스가 단순해지며, 결합도를 낮추어 종속성을 줄일 수 있고, 재사용성을 높인다. - 상속상속(Inheritance)이란, 상위 개체의 속성을 하위 개체가 그대로 물려받는 것이다. 자식 클래스(sub class)가 부모 클래스(super class)의 속성을 물려받고, 기능을 추가하며 확장(extends)하는 개념이다. - 다형성다형성(Poly..

    [Java] 반복문, 배열, 예외 처리 || Java Programming

    [Java] 반복문, 배열, 예외 처리 || Java Programming

    1. 반복문- for문초기문은 시작할 때 한 번만 수행된다. 콤마로 구분되며, 세미콜론이 있어야 한다. 조건식에 true가 있거나 비어 있으면 무한 반복이 된다. 반복 후 작업 문에는 여러 문장을 나열할 수 있다. (아래에 예시)for (i = 0; i < 10; i++, System.out.println(i)) { ... } - while문조건식이 없으면, 컴파일 오류가 발생한다. 조건식에 사용되는 변수는 while문 실행 전에 초기화되어 있어야 한다.while (true) { if(조건식){ break; } } - do while문작업문 실행 후 조건식을 검사하므로 작업문이 한 번은 반드시 실행된다.do { ... } while (조건식) - for vs. while반복의 횟수, 범위가 명확한 경우 ..

    [Java] 명품 JAVA Programming 3장 실습 코드

    CH.033장 기본 내용 정리 [Java] 반복문, 배열, 예외 처리 || Java Programming1. 반복문 - for문 초기문은 시작할 때 한 번만 수행된다. 콤마로 구분되며, 세미콜론이 있어야 한다. 조건식에 true가 있거나 비어 있으면 무한 반복이 된다. 반복 후 작업 문에는 여러 문장을 나열dmaolon00.tistory.comimport java.util.InputMismatchException; import java.util.Scanner; public class Array_Repeat_Exception_Examples { /* 배열, 반복문, 예외 처리 연습 */ Scanner sc = new Scanner(System.in); void Ex01_3() { System.out.pri..

    [Java] 명품 JAVA Programming 2장 실습 코드

    CH.022장 기본 내용 정리 [Java] 자바 기본 내용 정리 || Java Basic Programming1. 자바 시작 - 프로그래밍 언어 기계어(Machine Language) : 이진수 명령어들로 구성된 언어 어셈블리어(Assembly Language) : 기계어의 명령을 니모닉 기호로 일대일 대응시킨 언어 컴퓨터가 이해할 수 있dmaolon00.tistory.comimport java.util.Scanner; public class BasicExample { Scanner sc = new Scanner(System.in); void Ex01(){ System.out.println("---------[Ex01]---------"); System.out.print("원화를 입력하세요(단위 원)>>..