목록전체 글 (85)
개발새발
** 정리 자주 사용하는 연산자 산술 연산자: + , - , * , / , % (나머지) 증가 및 감소 연산자: ++ , -- 비교 연산자: == , != , > , = , , >>> ) 5. 비교 연산자 ( = , instanceof ) 6. 등식 연산자 ( == , != ) 7. 비트 연산자 ( & , ^ , | ) 8. 논리 연산자 ( && , || ) 9. 삼항 연산자 ( ? : )

두구두구!!!!!!!!!!!!!!!!!!!!!!! World IT Show 개발팀 전체가 다 같이 가기로 했다!! 출입증을 받은 날부터 빨리 가고 싶은 마음에 계속 기대하고 있었다 ㅎㅎ 개발팀이 다 같이 가는 것도 좋았지만, 가서 다양한 프로젝트에 대해 설명을 듣고 견문을 넓힐 수 있다는 생각에 다들 기대하고 있었다! 4월 19일 개발팀은 IT 전시회 중 하나인 2023 World IT Show를 방문했다. 올해 15번째를 맞는 국내 최대 IT분야 전시회 2023 World IT Show가 4월 19일부터 21일까지 3일간 코엑스에서 개최한다. ‘세계의 일상을 바꾸는 K-디지털’이라는 주제로 현식적인 기술들과 미래를 바꿀 기술들을 선보인다고 한다. 전시회는 A, B, C 세 개의 홀로 이루어져 있으며, ..

두구두구!!!!!!!!!!!!!!!!!!!!!!! 첫 World IT Show 개발팀 전체가 다 같이 가기로 했다!! 출입증을 받은 날 부터 빨리 가고 싶은 마음에 계속 기대하고 있었다 ㅎㅎ 개발팀이 다 같이 가는 것도 좋았지만, 가서 다양한 프로젝트에 대해 설명을 듣고 견문을 넓힐 수 있다는 생각에 다들 기대하고 있었다! 드디어!!!!!!!!!! 두둥탁! 4월 19일 개발팀은 IT 전시회 중 하나인 2023 World IT Show를 방문했다. 박람회에서는 A,B,C 세개의 홀로 이루어져 있으며, 스타트업 회사, 대학교, 대기업들이 나와 본인들의 회사의 기술을 소개하는 자리였다. 여러 회사들이 각자의 회사에서 만든 프로젝트와 왜 그 기술을 사용하여 그 제품을 만들었는지에 대해 설명해주었다. 정말 다양한..

Static 이란? 정적(Static)은 고정된이란 의미를 가지고 있다. static이라는 키워드를 사용하여 static변수와 static메소드를 만들 수 있는 데 다른 말로 정적필드와 정적메소드라고도 하며, 이 둘을 합쳐서 정적멤버(클래스 멤버)라고 한다. 정적필드와 정적메소드는 객체에 소속된 멤버다 아니라 클래스에 고정된 멤버이기에 클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있다. - static 키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당된다. Static 영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든지 참조할 수 있는 장점을 갖지만, GC의 관리 영역 ..
Day 1. 자바 객체지향 프로그래밍(OOP)에 대해 설명해 주세요. - OOP(Object Oriented Programming)이란 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론입니다. 프로그래밍에서 객체란 데이터의 분산을 막기 위해 데이터와 기능을 하나로 묶은 그룹을 말합니다. 특성으로는 캡슐화, 추상화, 상속화, 다형성 네 가지 특성이 있습니다 장점으로는 미리 만들어둔 코드를 활용할 수 있기 때문에 코드의 재사용성이 증가하고, 생산성 향상 등이 있습니다. 단점으로는 객체지향적으로 코드를 쓰는 데 있어 난이도가 높으며, 그것에 따라 개발 속도가 느립니다. 캡슐화 - 하나의 객체에 대해 그 객체가 특정한 목적을 위해 필요한 변수, 메소드를..

스프링 컨테이너 의존관계 주입을 대신 객체를 생성하고 관리하면서 의존관계를 연결해주는 것 스프링 프레임워크도 객체를 생성하고 관리하고 책임지고 의존성을 관리해주는 컨테이너가 있는데, 그것이 바로 스프링 컨테이너( = IoC 컨테이너, DI 컨테이너, 어샘블러, 오브젝트 팩토리...등) 인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신 해준다 객체관리 주체가 프레임워크(Container)가 되기 때문에 개발자는 로직에 집중할 수 있는 장점이 있다 IoC 컨테이너는 객체의 생성을 책임지고, 의존성을 관리 POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가진다 개발자들이 직접 POJO를 생성할 수 있지만 컨테이너에게 맡긴다 개발자는 비즈니스 로직에 집중할 수 있다 객체..

- 기존에 많은 데이터를 처리하기 위해 배열을 사용했지만 크기가 고정되어 있고 삽입, 삭제가 오래 걸린다는 불편한 점이 있다. - 이를 보완하기 위해 자바에서 동적배열 개념인 컬렉션 프레임워크를 제공 - 자료의 삽입, 삭제, 검색 등이 용이해지고 어떠한 자료형이라도 담을 수 있으며 크기가 자유롭게 늘어난다는 강점이 있다 List - 순서가 있고 중복을 허용합니다. - 인덱스로 원소에 접근이 가능합니다. - 크기가 가변적 입니다. List의 종류와 특징 LinkedList 양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다. ArrayList보다 검색이 느리다. ArrayList 단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다. 배열을 기반으로 데이터를 저장한다. 데이터 삽입, 삭제가 느리다. 데이..
DI 사용 장점 객체 간 결합도를 낮춘다 유연한 코드 작성 가능 가독성 증진 코드 중복 방지 유지보수가 용이 기존에는 개발자가 직접 객체 생성과 소멸을 제어했는데 DI로 인해 객체 생성과 소멸 등 클래스간 의존관계를 스프링 컨테이너가 제어 DI는 객체의 생성, 소멸, 의존 관계를 개발자가 직접 설정하는 것이 아니라 XML이나 애너테이션을 통해 스프링 프레임워크가 제어 기존에는 개발자가 직접 객체를 생성해줬던 반면에 스프링 프레임워크에서는 객체의 제어를 스프링이 직접 담당해주는 IoC 특징을 가진다 DI를 하는 방식 Field Injection(필드 주입) Setter Injection(수정자 주입) Constructor Injection(생성자 주입) (*추천//Spring에서도 권장하는 방식) Fiel..
제네릭(Generic)이란 "타입을 일반화"하는 것을 의미하며 클래스 내부에서 정하는 것이 아닌 사용자 호출에 의해 타입이 지정되는 것을 의미합니다. 즉, 특정 타입의 변수형에 지정되는 것이 아닌 필요에 의해 여러 가지를 타입(Integer, String 등)을 사용하고 싶을 경우 사용합니다. 제네릭 타입 클래스는 자바5부터 추가된 개념으로 자바 API 문서에도 간간히 볼 수 있는데요. 주로 우리가 쓰는 컬렉션 프레임워크의 List 인터페이스도 제네릭 타입입니다. - 제네릭은 데이터 타입을 하나로 지정하지 않고 사용할 때마다 지정하는 것을 말합니다, 사용하는 이유는 잘못된 객체를 넣을시 컴파일 단계에서 막아주기 때문에 런타임 단계에서 문제가 발생할 여지를 막아줍니다 - 제네릭(Generic) 은 클래스 ..

- 영속성 컨텍스트란 엔티티를 영구 저장하는 환경이라는 뜻으로, 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 합니다. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면서 영속성컨텍스트에 엔티티를 보관하고 관리합니다 em.persist(member); 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장한다는 의미 영속성 컨텍스트의 특징 엔티티 매니저를 생성할 때 하나 만들어진다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있다. EntityManager EntityManager는 영속성 컨텍스트 내에서 Entity들을 관리하고 있다. EntityManager는 JPA에서 제공하는 interface로 spring bean으로 등록되어 있어 A..