Language

다형성 : 하나의 메서드나 클래스가 있을 때, 그것이 다양한 방법으로 동작하는것 자바는 오버로딩과 오버라이딩을 통해서 다형성을 지원한다. 오버로딩(Overloading) 같은 이름의 메서드 여러개를 가지면서, 매개변수의 유형과 개수를 다르게 사용하는것 오버라이딩(Overriding) 상위 클래스(부모클래스)가 가지고 있는 메서드를, 하위클래스(자식 클래스)가 재정의 해서 사용하는 것. ▶오버로딩(Overloading) 같은이름의 메서드를 여러개 정의하고 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있도록 하는 방식이다. //오버로딩 예제 public class Test { public void overloadingTest(){ System.out.println("매개변수 없지롱"..
▶ iterator(반복자) 포인터와 상당히 비슷하며 컨테이너에 저장되어 있는 원소들을 참조할 때 사용함. 추상적으로 말하자면, 반복자란 컨테이너에 저장되어 있는 모든 원소들을 전체적으로 한번 훑어 나갈 때 사용하는 일종의 포인터 비슷한 객체임. 알고리즘마다 각기 다른 방식으로 컨테이너를 훑어가기 때문에 반복자에도 여러가지 종류가 있음. ▶ 반복자의 성질 컨테이너와 컨테이너 안의 요소를 구별 요소의 값 확인 컨테이너 안에 있는 요소들 간에 이동할 수 있는 연산 제공 컨테이너가 효과적으로 처리할 수 있는 방식으로 가용한 연산들을 한정 ▶ 반복자의 종류 입력 반복자(input iterator) 읽기만 가능, 순방향이동,현 위치의 원소를 한번만 읽을 수 있는 반복자 출력 반복자(output iterator) ..
▶ fill 함수 구조 #include void fill(FowardIterator first, FowardIterator last, const T& val); ▷ fill 함수의 목적 fill함수는 어떤 연속성을 띈 자료구조(배열, 벡터 등등)의 시작점부터 연속된 범위를 어떤 값이나 객체로 모두 저장하고 싶을 때 사용함. ▷ 명령어들 알아보기 #include : fill 함수를 사용하기 위한 헤더파일. first : 채우고자 하는 자료구조의 시작위치 iterator last : 채우고자 하는 자료구조의 끝 위치 iterator, 단 last는 안채워짐 val : first부터 last 전까지 채우고자 하는 값. 반복자는 또 뭐야.....?? 하시는 분들을 위한 포스팅 https://learning-st..
▶JVM이 무엇인가? Java Virtual Machine 자바프로그램 실행환경을 만들어주는 SW JVM은 JRE(Java Runtime Enviorment)에 포함되어 있고, JRE는 JDK(Java Development Kit)에 포함되어 있음. ▶ JVM을 사용하는 이유 JVM을 사용하면 하나의 바이트코드(.class)로 모든 플랫폼에서 동작 가능함 바이트코드는 사람이 쓰는 자바코드와 컴퓨터가 읽는 기계어의 중간단계임. Java는 플랫폼에 종속적이지는 않지만, JVM은 플랫폼에 종속적이다. ▶ 자바 프로그램의 실행과정 자바로 개발된 프로그램을 실행하면 JVM은 OS로부터 메모리를 할당한다. 자바컴파일러(javac)가 자바소스코드(.java)를 자바 바이트코드(.class)로 컴파일한다. Class ..
▶GC란 무엇인가? GC는 자바의 메모리 관리 방법 중 하나이다. JVM의 Heap영역에서 동적으로 할당했던 메모리 영역 중 필요없게 된 메모리 영역을 주기적으로 삭제하는 프로세스이다. C/C++에서는 이러한 GC가 없기 때문에 개발자가 수동으로 메모리 할당과 해제를 일일히 해줘야한다. 이러한 언어를 Unmanaged 언어라고 한다. 반대로 자바같이 GC가 알아서 메모리를 관리해주는 언어를 Managed 언어라고 한다. 따라서, GC가 탑재되어 있는 JVM을 사용하는 Java는 메모리 관리를 다 해주기 때문에 개발자 입장에서는 메모리 관리, 메모리 누수(Memory Leak)문제에 대해 신경을 덜 써도 된다는 장점이 있다. 하지만 단점도 있는데, 개발자가 메모리가 언제 해제되는지 정확하게 알 수 없다. ..
▶자바 프로그래밍을 공부하는 이유 많고 많은 언어 중에 자바를 왜 공부해야 할까? 자바는 백엔드에서 가장 많이 쓰이는 언어이기 때문이다.(Spring Boot) Node.js, Next.js 등 자바스크립트 언어를 기반으로 한 백엔드도 요즘 매우 많지만 자바스크립트보다 자바의 역사가 더 오래되었고 안정성도 더 뛰어나기 때문에 대기업에서 많이 채택한다. ▶자바 언어의 특징 객체지향 언어 자바는 느리지만, 버전업이 되면서 다른 언어들의 장점들을 흡수하고 있다. 람다(Lambda) : 함수형 프로그래밍 Stream API : 람다 표현식과 메서드 참조 등의 기능과 결합해서 매우 복잡하고 어려운 데이터 처리 작업을 쉽게 조회하고 필터링하고 변환하고 처리할 수 있도록 한다. 병렬프로그래밍 : 여려개의 CPU코어에..
LearningStudy
'Language' 카테고리의 글 목록