프로그래밍 언어/Java
-
메서드 시그니처프로그래밍 언어/Java 2024. 8. 25. 16:29
Java에서는 메서드 이름과 매개변수 타입, 매개변수 수, 매개변수 순서로 메서드의 동작이 달라집니다. 이 구분점을 메서드 시그니처라고 합니다. 이 개념은 메서드 오버로딩시 반드시 필요합니다. public int calculate(int x, int y){ return x + y;}public double calculate(double x, double y) { return x + y;}위의 예제는 메서드의 이름이 같습니다. 그렇다면, 컴파일러는 이 두 메서드가 어느 때 쓰여야할지 구분할 수 있을까요?정답은 구분할 수 있습니다. 매개변수의 타입이 다르기 때문입니다. public int calculate1(int x, int y){ return x + y;}public double calculate2(in..
-
변수 개념과 활용 방법에 대해 알아보자프로그래밍 언어/Java 2024. 2. 28. 11:02
자바를 활용하기 앞서, 자바를 사용하기 위해 알아야할 기본적인 개념에 대해 알아보자. 가장 기초적으로 알아야할 부분은 바로 변수에 대한 개념이다. 변수란 값이 변할 수 있는 저장공간이다. 변수 선언은 아래와 같이 사용할 수 있다. int number = 10; //1. 초기화 int a; //2. 선언 후 덮어쓰기 a = 1; 상수란 값이 변하지 않는 저장공간이다. 상수 선언은 아래와 같이 사용할 수 있다. fianl int PI = 3.141592; //상수 선언 PI = 4; //새로운 값으로 대입시 에러 발생 위에서는 설명 없이 int라는 기본형 변수를 사용했지만, 변수들은 그냥 단독으로 사용할 수 없다. 모든 변수의 이름 앞에는 변수의 타입이 선언되어야한다. a = 10; // 변수의 타입이 없어..
-
JVM? JDK? JRE? 개념을 정확히 알아보자프로그래밍 언어/Java 2024. 2. 27. 10:05
JVM(Java Virtual Machine)이란? 자바 가상 기계라는 뜻을 가지고 있다. 자바 파일을 실행시키기 위해 필요한 것으로써, 어떤 운영체제에 구애 받지 않고 자바 파일을 실행가능하도록 만든다. .java 파일이 작동하기까지 흐름? .java파일을 컴파일러를 통해 .class파일로 변환 Java Virtual Machine에서 구동 JVM의 구성? JVM은 대표적으로 아래의 기능들로 구성되어 있다. 바이트코드 :: java compiler를 통해 .java파일을 변환한 .class파일 인터프리터 :: .class파일을 기계가 이해할 수 있는 기계어로 변환하는 기능 **JIT 컴파일러 :: 빠른 Java .class 코드 해석기...라고 하는데 이부분은 아직 이해가 되지 않았다. 가비지 컬렉터 ..
-
Java 언어에 대한 이해프로그래밍 언어/Java 2024. 2. 26. 22:16
백엔드 개발자를 지향한다면 내가 쓰는 언어에 대한 이해는 필수라고 생각한다. 그렇다면, Java의 개념과 배우려는 이유를 명확히 해야한다. 이번 포스팅에서 Java를 배우는 목적과 Java언어의 특징에 대해 적어볼 생각이다. 1. Java의 핵심 기능 Java는 C언어의 기능, 공통 실행환경, 클래스 그리고 객체를 지원하는 프로그래밍 언어이다. C언어의 기능으로는, 입/출력, 문맥 기계식 데이터 타입 연산 기능 메서드 자료형 데이터 타입 자료구조 이 있다. 이는 A언어, B언어로부터 계승된 기능을 포함한다. 2. Java를 배우는 목적 대한민국에서 가장 많이 사용되는 언어이다. 객체 지향 언어이다. 보안성이 높다. API를 통한 대규모 어플리케이션 개발이 가능하다. 다양한 개발도구와 라이브러리를 지원한다..
-
객체지향 프로그래밍 파헤치기) 캡슐화를 알아보자!프로그래밍 언어/Java 2023. 12. 15. 18:06
객체지향 프로그래밍을 사용하는 Java는 4가지 큰 특징이 있습니다. 캡슐화 상속 다형성 추상화 위의 4가지는 Java 프로그래밍 개념의 가장 밑단에 있으며 이를 제대로 이해하지 못한다면 Java를 제대로 사용한다고 말할 수 없습니다. 저도 이 개념들을 확실히 이해하고자 이렇게 정리한 내용을 포스팅하려합니다. 이번 포스팅의 주제는 캡슐화입니다. 캡슐화라고 하면 무엇을 상상하시나요? 저는 영양제나 알약 겉부분의 원통형 모양이 가장 먼저 떠오릅니다. 이 캡슐의 용도는 안에 있는 영양제나 약의 성분을 온전히 원하는 곳에 전달하기위해 바깥의 간섭을 막아주는 역할을 합니다. Java의 캡슐화는 어떨까요? Java에서 캡슐화란 속성(필드)와 행위(메서드)를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에..
-
JAVA 뽀개기) Collection - List에 대해 자세히 알아보자!프로그래밍 언어/Java 2023. 12. 13. 14:26
이제 본격적으로 Collection의 한 종류인 List에 대해 설명하겠습니다. List에는 크게 3가지 종류가 있습니다. ArrayList LinkedList Stack 순서대로 다뤄보겠습니다. ArrayList 기존 배열과 비슷한 List의 가장 큰 특징은 크기가 정해져 있지 않고 값을 계속 추가할 수 있습니다. 기존 배열의 단점은 배열의 크기가 정해져있고 그 크기를 줄이거나 늘릴 수 없었는데, List는 굳이 그럴 필요가 없습니다. 편의성 부분에서 기존 배열보다 압도적으로 사용하기 쉽습니다. 사용하는 법 // 선언 & 생성 (참조형 변수는 Integer를 사용하겠습니다. 필요에 따라 바꿀 수 있습니다.) ArrayList intList = new ArrayList(); // 초기화는 필요 없습니다!..
-
JAVA 뽀개기) Collection에 대해 쉽게 알아보자!프로그래밍 언어/Java 2023. 12. 13. 13:58
Java에서 배열은 정말 유용하게 사용됐지만, 특유의 경직성 때문에 사람들은 더 확장된 기능의 배열을 내놓기 시작했습니다. 바로 Collection입니다. Collection은 배열을 더 고도화시킨 새로운 참조형 자료구조를 제공합니다. Collection에는 여러 종류가 있고 쓰임새가 모두 다르기 때문에 그 쓰임을 정확히 아는게 좋습니다. Collection의 종류는 크게 4가지가 있습니다. List: 순서가 있는 데이터의 집합(기존 배열과 비슷합니다.) Queue: First In First Out 원칙이 적용된 데이터의 집합(실생활의 빨대같은 자료구조입니다.) Set: 순서와 중복을 허용하지 않는 데이터의 집합 Map: 순서가 없는 Key, Value쌍으로 이루어진 데이터의 집합(Key값은 중복되지 ..
-
JAVA 뽀개기) 얕은 복사? 깊은 복사?프로그래밍 언어/Java 2023. 12. 13. 12:44
자바에서는 변수 값을 저장할 때 두 가지 형태가 있습니다! 첫번째는 값을 그대로 저장하고 불러오는 형태(기본형 타입: int, long, char...) 두번째는 값을 저장하고 저장된 곳의 주소를 가져오는 형태(참조형 타입: 배열, 클래스...) 이렇게 글로만 적으면 잘 와닿지 않을겁니다! 그렇다면 아래의 예시코드를 보면서 확인해봅시다. // 얕은 복사 int[] a = {1, 2, 3}; int[] b = a; b[0] = 10; System.out.println(a[0]); // 10으로 출력 위의 코드는 대표적인 참조형 타입인 배열을 예시로 들었습니다. 배열 a 는 {1, 2, 3}을 포함하고 배열 b는 배열 a와 같게끔 =부호를 넣었습니다. 이제 머리속으로 생각해 봅시다! 배열 a는 {1, 2, ..