전체 글 117

java 활용 예시(인터페이스)

package chapter09; /* Interface : 객체가 어떤 방식으로 동작해야 하는지를 정의하는 추상 타입 >> 추상 메소드와 상수만으로 구성된 특수한 클래스 객체의 기능을 정의하고, 실제 구현은 인터페이스를 구현하는 클래스에서 담당  = 인터페이스의 필요성 = : 서로 다른 클래스에 대해 공통된 동작을 보장할 때 : 여러 인터페이스를 동시에 구현 가능 >> 한 클래스에 대해 여러 개의 인터페이스 구현 가능  = 인터페이스 구현 방법 = interface 키워드를 사용하여 선언  ===인터페이스 vs 추상 클래스=== 공통점: 하나 이상의 추상 메소드를 포함  1) 인터페이스: 클래스의 동작을 정의하는 계약 역할, 다중 상속 효과 - 객체가 어떤 행위를 해야하는 지를 정의 - extends ..

java 2024.09.09

java 활용 예시(추상화)

package chapter09; // 추상화 (Abstract) // 추상 클래스// : 미완성 설계도, 완전하지 않은 클래스// >> 다른 클래스가 상속받아 완성 가능, 그 자체로는 인스턴스 생성 X // == 추상 클래스의 특징 ==// 1. 클래스 자체로는 인스턴스 생성 X// 2. 추상 메서드를 하나 이상 포함! // 3. 확장성 제공을 위한 사용 // == 추상 클래스의 구현 방법 ==// : abstract 키워드를 사용하여 선언 // == 추상 클래스 예시 ==abstract class Human { // cf) 메서드의 구성: 선언부 + 구현부 // (접근제어자) 반환타입 메서드명 (매개변수) { 메서드의 기능 동작 }  // === 추상 메서드 === // : 메서드의 선언부만 존재, ..

java 2024.09.09

java 활용 예시(다형성)

package chapter08; /* 다형성 : 많은 형태를 가질 수 있는 능력 >> 하나의 객체가 여러 타입의 인스턴스로 취급 될 수 있는 특성 >> 상속 + 메소드 오버라이딩 + 클래스 타입 변환  instance of 연산 : 참조변수감ㅅ instanceof 타입(클래스명) >> 해당 객체가 특정 클래스의 인스턴스인지 또는 그 클래스를 상속받은 자식 클래스의 인스턴스인지를 확인 */ class Vehicle{ void display() { System.out.println("운송수단입니다."); }} class Bus extends Vehicle{ @Override void display() { System.out.println("버스를 타고갑니다."); }} class Subway extends..

java 2024.09.09

java 활용 예시(Overriding)

package chapter06; /* === 오버라이딩 === : 자식 클래스가 부모 클래스에서 정의된 메소드를 자신의 상황에 맞게 재정의 >> 상속 관계에 있는 클래스들 사이에서 사용  1. 오버라이딩의 특징 - 메소드의 시그니처(선언부)가 일치 >> 부모 클래스에서 정의된 메소드와 동일한 이름, 매개변수 구성을 가져야 함 - 반환 타입은 같거나 자동 형 변환이 가능한 것이어야 함 - @override : 오버라이딩 된 메소드임을 명시적으로 표시  cf) 선언부 : 반환타입 메소드명(매개변수)  2. 오버라이딩 구현 방법 - 부모 클래스의 상속받은 메소드를 자식 클래스에서 다시 정의 메소드의 이름, 매개변수를 일치, 반환타입은 같거나 형 변환 가능하게 작성 - 메소드 위에 @Override 어노테이션..

java 2024.09.06

java 활용 예시(Overloading)

package chapter05; public class overloading01 { /* 메소드 오버로딩 : overloading 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것  1. 오버로딩의 성립 조건 - 메소드 이름이 같아야 함 - 매개변수의 개수 또는 타입이 달라야 함. - 반환 타입은 관계 없음  2. 오버로딩의 장점 - 사용자가 매개변수의 순서를 외우지 않아도 사용 가능(편의성)  3. 오버로딩의 단점 - 중복적으로 의미 없이 생성하는 경우, 실질적으로 필요한 구현 메소드 찾기에 어려움(복잡성) */ class Cal{ static int add(int aa, int bb) {return aa+bb;} //long add(int aa, int bb){return aa+bb;} -..

java 2024.09.06

java 설치 방법

9월부로 종료된 java17버전 LTS(Long Time Supports)을 일단 설치해보도록 한다. https://www.oracle.com/kr/java/technologies/downloads/#jdk17-windows Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.comoracle 사이트의 자신의 os에 맞는  java를 다운해준다.ex) window라면 " x64 Installer" 이후에 설정을 바꾸지않고(바꾸지 않는 것을 추천) 이미 설치가 되어 있다면 위와..

java 2024.09.04

React 활용 예시(Zustand)

import React from 'react'import { create } from 'zustand';/*    ! Zustand 상태 관리 프로그램(외부 라이브러리)    : React Hooks를 기반    >> 최소한의 API를 사용하영 상태를 쉽게 생성하고 접근    ? Zustand의 장점    1) 간결성    : 최소한의 코드로 상태 관리    2) 유연성    : 여러 상태 조각을 하나의 저장소에서 결합    ? Zustand 사용 방법    1) 설치    npm i zustand    2) 사용법    상태를 단일 저장소인 store에 저장    +) 해당 저장소를 가져와서 (import) 컴포넌트에 자동으로 업데이트 전달    # 1. Zustand 예제(폴더/ 파일 단위 분리X) ..

React 2024.09.03

React활용 예시(Axios)

import React, { useEffect, useState } from 'react'import axios from 'axios';//! Axios// : JS에서 HTTP 요청을 실행하기 위한 라이브러리// >> Promise 기반의 HTTP 클라이언트, 브라우저와 node.js 모두 사용 가능//? HTTP 통신// : HTTP(HyperText Transfer Protocol)// >> 웹에서 데이터를 교환하는 주요 프로토콜// >> 클라이언트(브라우저)와 서버 간의 통신을 위해 사용//    , 요청(Request)과 응답(Response)의 형태로 데이터가 교환//& HTTP 요청 방법// >> HTTP 프로토콜은 다양한 요청 메서드를 지원//# 1) GET// : 데이터를 조회할 때 사용..

React 2024.09.03