[Java] java.io 패키지 입출력 스트림 쉽게 이해하기
·
🛠️Backend/☕Java
✅ 1. 스트림(Stream)이란?데이터가 한쪽에서 다른 쪽으로 연속적으로 흐르는 통로를 의미한며, 데이터의 흐름을 추상화한 객체가 Stream임.쉽게말해, Stream은 수도관 데이터는 그 안에서 흐르는 물과 같은 느낌이고, 개발자가 수도꼭지를 틀거나 잠그는 역할임.데이터를 바이트 단위로 입출력하기 위한 통로라고 생각하면 된다.자바에서 모든 IO 기반 통신은 스트림 기반으로 만들어져 있음. ( 네트워크, HTTP, 파일, 콘솔 등 )✅ 2. 스트림(Stream) 종류크게 기본 입력 스트림, 출력 스트림이 있으며 각각 기본 스트림과 보조 스트림을 제공해준다.기본, 보조 스트림 내부에서는 바이트 스트림, 문자 스트림으로 또 나누어지게 된다.(1) 기본 스트림Java I/O에서 입출력을 처리하는 가장 기본적..
[Java] java.lang 패키지 정리: Object, String, Math 클래스 총정리
·
🛠️Backend/☕Java
✅ 1. java.lang 패키지란?import java.lang.*;Java에서 가장 기본적이고 자주 사용되는 클래스들을 모아놓은 패지키를 의미한다.java.lang 패키지는 모든 클래스의 자동으로 import가 되기 때문에 별도로 import를 이용해 사용을 하지 않아도 된다.위의 코드처럼 컴파일 시 모든 코드에 해당 import 문이 상단에 붙게 된다.java.lang 패키지 내부에는 String, Object, Thread, System 등 자바에서 가장 기본이 되는 클래스들이 들어가 있음.✅ 2. Object 클래스// 컴파일 전public class MyClass {}// 컴파일 후 -> .classpublic class MyClass extends Object {}자동으로 모든 클래스의 조상..
[Java] 자바 함수형 인터페이스와 람다식(Lambda Expression) 쉽게 배우기
·
🛠️Backend/☕Java
✅ 1. 람다식이란?// 함수형 인터페이스@FunctionalInterfaceinterface Printer { void print(String message);}// Mainpublic class Main { public static void main(String[] args) { Printer printer = (message) -> System.out.println("출력:" + message); // 익명함수정의 printer.print("print, message") // 정의 된 함수 호출 }}함수형 인터페이스의 추상 메서드를 간결하게 표현하는 문법을 의미한다.람다식은 오직 추상 메서드가 하나인 인터페이스 에서만 사용이 가능하며, 이를 함수형 인터페이스..
[Java] 제네릭(Generic) 문법 정리: 클래스, 메서드, 제한까지
·
🛠️Backend/☕Java
✅ 1. 제네릭이란?public class Box { private T item; public void set(T item) { this.item = item; } public T get() { return item; }}public class Main { Box box = new Box(); box.set("String"); // 제네릭 이기 때문에 타입은 String}클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다.즉, 클래스, 인터페이스, 메소드를 정의할 때 타입 매개변수를 선언하고 자료형의 제한을 둠으로써 타입 안전성을 가진다.제네릭을 사용하면, 자바 프로그램의 재사용성을 높이고 오류를 줄일 수 있게 된다.다양..
[Java] 익명 클래스(Anonymous Class)
·
🛠️Backend/☕Java
✅ 1. 익명 클래스란?"익명" + "클래스" 이름이 없는 클래스를 의미한다.일회성으로 1개의 객체를 생성하기 위한 클래스이며, 익명 클래스 정의와 동시에 객체를 생성할 수 있다.✅ 1. 익명 클래스 사용 방법// 부모 클래스class Animal { public void sound() { System.out.println("동물소리"); }}public class Main { public static void main(String[] args) { Animal dog = new Animal() { @Override public void sound() { Systme.out.println("강아지 ..
[Java] 다형성(polymorphism)
·
🛠️Backend/☕Java
✅ 1. 다형성(1) 다형성이란?다형성(ploymorphism)은 하위 클래스 객체를 생성하고 상위 클래스 타입으로 받는 것을 의미한다.쉽게말해, 객체를 생성할 때 해당 객체의 타입으로 받는 것이 일반적이다.하지만, 자바에서 제공하는 다형성을 활용해 해당 객체 타입이 아닌, 상위클래스 타입으로 받아서 유연하게 이용 할 수 있다.일반적인 방식: Dog dog = new Dog();다형성 적용 방식: Animal dog = new Dog(); - 상위 클래스로 참조 타입을 받을 수 있음. (2) 다형성 쓰는 이유public class Animal { public void sound() { System.out.println("동물소리"); }}public class Cat extends..
[Java] 추상화 - 추상클래스, 추상메서드, 인터페이스
·
🛠️Backend/☕Java
✅ 1. 추상클래스public abstract class Animal { public abstract void run(); // 추상 메서드 public void eat() { // 일반 메서드 System.out.println("This animal eats food."); }}추상 클래스는 class 앞에 abstract 키워드를 붙힌 클래스를 의미한다.abstract 키워드를 명시하면 해당 클래스는 객체 생성이 불가능한 클래스가 되며, 상속으로만 이용이 가능해진다.추상클래스 내부에는 멤버 변수를 가질 수 있다.추상클래스에는 추상메서드, 일반메서드 둘 다 만들 수 있다.구현 클래스가 상속을 받게되면, 추상 메서드는 반드시 구현을 해야하고, 일반 메서드는 상속과 동일..
유비쿼터스 컴퓨팅개론 14강 - 빅데이터
·
🎓방송통신대학교/🌍유비쿼터스 컴퓨팅
✅ 1. 빅데이터빅데이터란, 대용량의 정형/비정형 데이터 집합을 의미한다. 즉, 엄청 많이 모여있는 데이터들의 집합을 의미함.빅데이터 기술은 대용량의 데이터를 분석하여 의미 있는 결과를 도출하기 위한 기술이다.1970년대 관계형 데이터베이스가 널리 활용되면서 많은 데이터를 저장하는 데이터 센터의 중요성도 부각되었음.(1) 빅데이터 형태[1] 정형 데이터저장될 데이터가 구조화가 되어있는 데이터를 의미한다.쉽게말해, 스키마가 있으며 해당 스키마로 인해 저장되는 데이터가 구조화가 되어있는 형태로 저장되는 것을 의미한다.각 데이터는 행과 열로 구조화가 되며, 열은 각각의 속성을 정의하고 각 행은 해당 속성의 구체적인 값을 의미한다.그리고, 데이터 자체인 오디오, 이미지, 텍스트 등은 정형/비정형 구분의 기준이 ..
유비쿼터스 컴퓨팅개론 15강 - 인공지능
·
🎓방송통신대학교/🌍유비쿼터스 컴퓨팅
✅ 1. 인공지능, 머신러닝, 딥러닝(1) 인공지능의 역사[1] 1차 암흑기 1970년~1980년 초신경외과의사 워렌 매컬록과 논리학자 윌터 피츠가 인공신경을 그물망으로 연결하여 간단한 기능을 구현할 수 있음을 증명함.하지만, 당시 컴퓨팅 인프라가 부족했고, 대용량 데이터뿐만 아니라 데이터를 효과적으로 학습할 수 있는 알고리즘이 없었음.[2] 2차 암흑기 1980년 후반 ~ 1990년 초인공지능 연구 자체가 지속이 되려면 투자를 받아야하지만, 크게 인기가 없어서 2차 암흑기에 들어감.2차 암흑기 시기에도 기존에 수학적으로만 증명된 심층신경망을 실질적으로 구현하는 연구를 지속함.[3] IBM 딥블루 & DARPA 그랜드 챌린지 1997년 ~ 2005년컴퓨팅 하드웨어 성능이 향상되면서 인공지능 관련 연구에 ..
유비쿼터스 컴퓨팅개론 9강 - 유비쿼터스 센서 네트워크
·
🎓방송통신대학교/🌍유비쿼터스 컴퓨팅
정보를 수집하는 센서의 역할이 필요함 ✅ 1. 센서의 기능 및 특징(1) 센서의 개념[1] 센서란?일반적으로 측정 대상물을 감지 또는 측정하여 그 측정량을 전기신호로 변환하는 장치이다.또는, 소리, 빛, 전파의 강도를 감지하여 유용한 신호로 변환하는 기능을 가진 장치를 의미한다.유비쿼터스 센서 네트워크에서 외부의 변화를 감지하고 필요한 데이터를 수집하는데 이용이 된다.[2] 센서의 종류센서는 감지한 측정량을 전기적 신호로 변환하는 원리에 따라 분류를 하게 됨.물리센서: 입력, 가속도, 각속도, 자기장 등광센서: CMOS 이미지, 후면 조사형 CMOS 이미지, 적외선, 조도 등화학센서: 이산화탄소, 오존과암모니아, 수소이온농도 지수 등바이오센서: DNA칩, 촉각, 암 진단용, 지문, 심박 등[3] 센서의 ..