-
[Java] 기본형과 참조형의 차이점Java 2023. 4. 14. 04:00
🔎 기본형 기본형 변수 안에는 직접 값들을 넣을 수 있다. Stack 영역에 저장 🔎 참조형 참조형 변수 안에는 값들을 저장하고 있는 객체를 가리치는 주소를 가지고 있다. Heap 영역에 저장 📋 참고 자료 [JAVA]기본형과 참조형 데이터 타입의 모든 기본적으로 JAVA는 기본형 타입과 참조형 타입 2종류가 존재합니다. 기본형 타입 그리고, 기본형 타입을 다시 4타입으로 나눌 수 있습니다. 정수형 타입 : byte(1byte), short(2byte), int(4byte), long(8byte) 실 beingdesigner.tistory.com
-
[Java] 포장 클래스 (Wrapper Class)Java 2023. 4. 14. 03:50
포장 클래스 (Wrapper Class) java에서 프로그래밍을 하다보면 원시 자료형(primitive type)의 데이터를 객체를 표현해야 하는 경우가 있다. 이럴 때에 원시 자료형(primitive type)을 객체로 다루기 위하여 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다. 🔎 박싱(Boxing)과 언박싱(UnBoxing) 박싱(boxing): 기본 타입의 값을 포장 객체로 만드는 과정 언박싱(unboxing): 포장 객체에서 기본 타입의 값을 얻어내는 과정 🔎 자동 박싱(AutoBoxing)과 자동 언박싱(AutoUnBoxing) 포장 클래스 타입에 기본값이 대입되는 경우에 자동 박싱이 일어난다. 반대로 기본 클래스 타입에 포장 클래스가 대입되는 경우에는 자동 언박싱이 ..
-
[Java] ==와 equals() 차이Java 2023. 4. 14. 03:35
==와 equals() 차이 java에서 ==와 equals()는 두 대상을 비교하여 결괏값을 boolean으로 return 한다. == 연산자: 비교하고자 하는 대상의 주소값을 비교 equals(): 비교하고자 하는 대상의 내용을 비교 String a = "str"; String b = a; String c = new String("str"); System.out.println(a.equals(b)); // true System.out.println(a == b); // true System.out.println(a.equals(c)); // true System.out.println(a == c); // false 해당 코드에서 a와 c는 같은 값을 가지지만, c는 new 생성자를 통해 새로운 객체를..
-
[Java] 접근 제어 지시자 (access modifier)Java 2023. 4. 14. 03:16
접근 제어 지시자 java에서는 변수나 메서드의 사용 권한을 다음과 같은 접근 제어자를 사용하여 설정할 수 있다. public > default > protected > private 지시자 클래스 내부 동일 패키지 상속받은 클래스 이외의 영역 private O X X X default O O X X protected O O O X public O O O O 📋 참고 자료 07-02 접근제어자 (Access Modifier) 자바는 접근제어자를 사용하여 변수나 메서드의 사용 권한을 설정할 수 있다. [TOC] ## 접근 제어자 변수나 메서드의 사용 권한은 다음과 같은 접근 제어자를 사용하여 … wikidocs.net [JAVA] 접근 제어 지시자 접근 제어 지시자란? 접근의 허용 범위를 제한하는 용도 종..
-
[Java] 객체 지향 프로그래밍이란?Java 2023. 4. 14. 03:12
객체 지향 프로그래밍 (Object Oriented Programming) : 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 🔎 객체 지향 프로그래밍의 장단점 [ 장점 ] 코드 재사용 용이 유지보수가 쉬움 대형 프로젝트에 적합 [ 단점 ] 처리 속도가 상대적으로 느림 객체가 많으면 용량이 커질 수 있음 설계시 많은 시간과 노력 필요 🔎 좋은 객체 지향 설계의 5가지 원칙 [Spring] SOLID | 좋은 객체 지향 설계의 5가지 원칙 SOLID SRP: 단일 책임 원칙 (Single responsibility principle) OCP..
-
[Java] String, StringBuilder, StringBuffer 차이Java 2023. 4. 14. 01:47
String, StringBuilder, StringBuffer 차이 String, StringBuilder, StringBuffer는 java에서 문자열을 다루는 대표적인 클래스이다. 위 3가지 클래스는 모두 문자열을 다룬다는 공통점이 있지만, 사용 목적에 따라 쓰임새가 달라진다. 🔎 String String은 불변성(Immutable)을 가지고 있다. String 객체가 한 번 생성되면, Heap 영역에 생성된다. concat이나 + 연산자를 통해 문자열을 이어 붙이는 경우에도 기존 문자열에 추가되는 것이 아니라, 새로운 String 객체를 생성한 후 연결을 시켜 그 객체를 참조한다. ➡️ 이러한 이유 때문에 문자열 연산이 많은 경우 성능이 좋지 않다. 🔎 StringBuffer & StringBui..
-
[Java] Call by Value vs Call by ReferenceJava 2023. 4. 12. 01:09
Call by Value vs Call by Reference method를 호출할 때, parameter를 전달하는 방법으로는 크게 두 가지가 있다. Call by Value Call by Reference 🔎 Call by Value Call by Value 방식은 함수 호출시 전달되는 변수의 값을 복사하여 함수의 인자로 전달한다. 호출자의 변수와 수신자의 paramenter는 복사된 서로 다른 변수이다. 전달받은 인자의 값은 local value의 특성을 가지기 때문에, 함수 내부에서 값이 변경되어도 외부에서의 값은 변경되지 않는다. 🔎 Call by Reference Call by Reference 방식은 함수 호출시 전달되는 변수의 참조 주소(reference)를 전달한다. 참조를 직접 넘기기 ..