본문 바로가기

Back-End93

[Java] 제네릭(Generic) (지네릭스) 제너릭(generic) https://www.youtube.com/watch?v=DBnqmTSHEOA - 특정한 클래스에 원하는 객체 타입을 지정하여 지정된 객체만 접근하게 하는 자바 문법. - 다양한 타입의 객체들을 다루는 메서드나 컬렉션에서 컴파일할 때 컴파일러가 타입을 확인해 주는 기능 ==> 다루어질 객체의 타입을 미리 명시함으로써 번거로운 형변환을 줄여 준다는 장점이 있음. 또한, 객체의 타입을 컴파일 시에 체크하여 주기 때문에 객체의 타입 안정성을 높여주는 장점이 있음 - 타입의 안정성을 높여준다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여 준다는 것임 제네릭스의 장점 1. 타입 안정.. 2021. 9. 17.
[JAVA] 싱글톤(singleton) 방식으로 객체 생성하기 * 싱글톤(singleton) 패턴 싱글톤 패턴을 통해서 하나의 인스턴스만 생성하도록 구현할 수 있다. https://www.youtube.com/watch?v=5jgpu9-ywtY - 생성자를 private 접근 지정자를 사용하여 외부에서 직접 접근을 못하게 불허하는 방식. - 외부에서 해당 클래스의 인스턴스를 new로 생성하지 못하도록 하는 방식. - 사용하는 이유 : 매번 객체를 생성하게 되면 메모리 성능이 느려지는 단점이 발생하기 때문. ex1) 데이터베이스를 사용하는 경우, connection 객체는 계속 같은 DB에 연결될 것이기 때문에 connection 객체를 계속해서 생성해내면 메모리 성능 저하가 발생한다. ex2) 공동으로 사용되는 파일 같은 경우, 모든 프로젝트원이 파일을 가져올 때마.. 2021. 9. 17.
[Java] 래퍼 클래스(wrapper class) 래퍼 클래스(wrapper class) - wrap : 감싸다, 포장하다 - 기본 자료형을 클래스 타입으로 포장해 놓은 클래스 - 기본 자료형보다 객체로 저장하기 때문에 좀 더 다양한 기능을 제공하기 위해 사용함 - 기본 타입의 값을 내부에 두고 포장을 하기 때문에 포장(wrapper) 클래스라고도 함 - 기본 자료형 : byte, short, long, float, double, boolean, char, int (8가지) - wrapper 클래스 : Byte, Short, Long, Float, Double, Boolean, Character, Integer (전부 앞이 대문자!) 래퍼 클래스(wrapper class) 사용 이유 1. 매개변수로 객체가 요구될 때 2. 기본형 값이 아닌 객체로 저장해.. 2021. 9. 17.
[JAVA] 다양한 형태의 클래스 선언 방법과 중첩클래스(inner class) 다양한 형태의 클래스 선언 방법 1. 일반적인 선언 방법 ==> 하나의 자바 파일에 class 키워드를 작성하여 클래스 선언. // 1. 일반적인 선언 방법 // Sub 객체 생성 Sub sub = new Sub(); System.out.println ("sum() 메서드 호출 >>> " + sub.sum(200, 15)); System.out.println ("minus() 메서드 호출 >>> " + sub.minus(127, 15)); System.out.println(); 결과 sum() 메소드 호출 : 202 minus() 메소드 호출 : 198 2. 무명 클래스(anonymous class) 선언 ==> 이름이 없이 없는 클래스 선언. interface 객체 생성 시 많이 사용됨. package.. 2021. 9. 17.
[Java] Object 클래스 Object 클래스 1. java의 모든 클래스의 조상 클래스이다. ==> java의 가장 최상위 조상 클래스 2. 사용자가 정의한 클래스에 자동으로 상속됨. ==> 단, extends 키워드를 사용하지 않은 클래스만 상속이 됨. Object 클래스의 주요 메서드 - toString() : 1) 객체 자신의 정보를 문자열로 반환. 2) 인스턴스에 대한 정보를 문자열로 제공할 목적으로 사용됨.toString() 메서드 재정의 3) Object 클래스에서 상속 받은 메서드를 유용한 정보가 반환이 되도록 재정의. 4) 해당 클래스의 멤버 변수가 정보를 가지고 있는데 가지고 있는 데이터가 올바른 값이 담겼는지 혹은 틀리게 담겨져 있는지 확인하고 싶은 경우에 toString() 메서드를 재정의하여 값을 확인할 수.. 2021. 9. 16.
[Java] 스코프와 this https://jinnnkcoding.tistory.com/32 [Java] 접근지정자(접근제어자) 권한 접근지정자(접근제어자)권한 - 접근지정자는 클래스, 멤버변수, 멤버메서드 앞에 사용됨. - 외부로부터 접근을 제어한다는 의미를 가지고 있음. - 접근 지정자가 사용될 수 있는 곳 : 클래스, 멤 jinnnkcoding.tistory.com 스코프(Scope) 스코프(scope)란, 변수의 활동 영역 이러한 스코프는 크게 두 종류로, 클래스 스코프와 메소드 스코프로 나누어짐 클래스 스코프 : 클래스 전역에서 활동(예: 필드) 메소드 스코프 : 메소드 내부에서 활동(예: 파라미터, 지역변수) 클래스 스코프(Class Scope) 필드(변수)의 활동 영역은 클래스 전체 (클래스 전역) 따라서 메소드 호출 .. 2021. 8. 27.