본문 바로가기

자바5

[Java] 자바는 Call by Value! 🗣 Call by Value 와 Call by Reference란? Call by Value는 함수의 인자를 전달할 때 값을 전달하는 방식 Call by Reference는 주소를 전달하는 방식 📌 자바는 Call by Value방식을 사용하며, Call by Reference는 존재하지 않는다. the Java authors choose to only include one simple idea - pass-by-value, with no default values or optional parameter (overloading often provides a satisfactory alternative), no variable length parameter lists (added finally in Jav.. 2023. 5. 19.
[Java] 제네릭(Generic) Generic 🧇 모든 종류의 타입을 다룰 수 있도록, 클래스나 메소드를 일반화된 타입 매개 변수(generic type)를 이용하여 선언하는 기법 C++의 템플릿과 유사하다 템플릿(template) : 템플릿은 '형판'이라는 뜻이다. C++의 템플릿이나 자바의 제네릭은 메소드나 클래스 코드를 찍어내듯이 생산할 수 있도록 일반화(generic)시키는 도구이다. 1. Generic 사용법 컬렉션 클래스에서 타입 매개 변수로 사용하는 문자는 다른 변수와 혼동을 피하기 위해 일반적으로 하나의 대문자를 사용한다. 아래는 관례적으로 타입매개변수에 많이 사용하는 문자이며, 반드시 일치할 필요는 없다. [ 제네릭 선언 ] 1) 클래스 및 인터페이스 선언 public class ClassName { ... } publ.. 2023. 4. 25.
[백준/자바] 23971: ZOAC 4 https://www.acmicpc.net/problem/23971 23971번: ZOAC 4 i행 j열 자리를 (i, j)라고 할 때, (1,1)에 참가자가 앉은 경우 다른 참가자는 (1,2), (2,1), (2,2) 자리를 제외한 나머지 자리에 앉을 수 있다. (2,2)의 경우는 (1,1)과 행 번호 및 열 번호의 차가 1보다 크 www.acmicpc.net 문제 요약 : 강의실에는 테이블이 W개씩 H행개 있다. 모든 참여자는 세로로 N칸, 가로로 M칸 띄우고 앉아야한다. 최대 몇명 수용할 수 있나요? 예제 입력 1 5 4 1 1 예제 출력 1 6 📌 풀이 1 ) N,M칸 띄우고 앉아야하기 때문에 각각에 N+1, M+1 값으로 나누어 주었다. 그러나, 몫만 가져오게 되면 5/2 의 경우나 4/2의 경.. 2023. 4. 14.
[Java] Stream API Java Collection Framework, JCF Java 언어에서 사용되는 데이터 구조를 관리하고 처리하기 위한 라이브러리 집합 Collection(List, Set, Queue)과 Map으로 구성 되어 있다. List: 순서가 있는 데이터를 저장 데이터의 중복을 허용 ArrayList, LinkedList 등 Set: 순서가 없는 데이터를 저장 데이터의 중복을 허용하지 않음 HashSet, TreeSet 등 Queue: 데이터를 순서대로 저장하고, 데이터를 추가할 때는 뒤쪽에, 삭제할 때는 앞쪽에서부터 처리 LinkedList, PriorityQueue 등 Map: Key-Value 쌍으로 데이터를 저장 Key는 중복될 수 없다 HashMap, TreeMap 등 Q. 왜 자바에서 배열보다 Col.. 2023. 4. 10.
[Java] 자바의 컴파일 과정 👶 자바의 탄생 자바는 애초에 일반 컴퓨터에 사용될 목적으로 설계된 것이 아니다. 1991년 선마이크로시스템즈(SUN Microsystems)는 제임스 고슬링(James Gosling)이란 엔지니어를 중심으로 그린 프로젝트(Green project)라는 이름으로 가전 제품의 적합한 소프트웨어 언어를 개발하기 시작했다. 기존의 언어로 작성된 프로그램들은 컴퓨터 플랫폼(platform) 간에 호환성이 없어, 플랫폼에 따라 소스를 다시 컴파일하거나 아예 프로그램을 다시 작성해야하는 단점이 존재했다. 이에 선마이크로시스템즈는 플랫폼 독립적(platform independent)이며 메모리 사용량이 적은 새로운 언어와 실행 체계를 발표했고, 처음에는 이 언어의 이름을 오크(oak)라 지었다. 이 언어는 인터넷과 .. 2023. 3. 27.