본문 바로가기

728x90

TIL

[Java]람다식(Lambda Expression) 함수형 프로그래밍 기업을 지원하는 자바의 문법요소이다 람다식은 메서드를 하나의 '식(expression)으로 표현한 것으로 , 코드를 매우 간결하면서 명확하게 표현 할 수있다는 장점이 있다 객체지향적 언어의 특성을 가진 자바의 특성에 따라 일반적인 함수가 아니라 익명의 객체이기 때문에 기본 자바의 문법 요소를 해치지 않으면서 함수형 프록래밍 기법을 사용할 수 있는 장치가 필요하다 이에따라 함수형 인터페이스가 만들어졌다. 학습 목표 람다식이 무엇이고, 어떻게 사용할 수 있는 지 이해할 수 있다. 람다식에서는 기본적으로 반환타입과 이름을 생략할 수 있다. 즉 익명함수라고 부르기도한다 메서드 바디에 실행문이 하나만 존재할 때 중괄호를 생략할수있고, 매개변수 타입을 쉽게 유추할 수 있는 경우에는 매개변수의 타입.. 더보기
[Java]애너테이션(Annotation) 주석은 소스 코드를 읽는 '사람'에게 정보를 제공하는 반면, 애너테이션은 특정 코드를 사용하는 '프로그램'에게 정보를 전달한다 학습 목표 애너테이션의 개념을 이해하고 설명할 수 있다. 애너테이션의 주요한 역할- 1.컴파일러에게 문법 에러를 체크하도록 정보를 제공. 2.프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공. 3.런타임에 특정 기능을 실행하도록 정보를 제공. 애너테이션의 종류- 표준 애너테이션과 메타 애너테이션이 어떤 차이가 있고, 어떤 내용이 있는 지 이해할 수 있다. 표준 애너테이션- @Override : 상위 클래스의 메서드를 오버라이딩 하는 메서드라는 것을 컴파일러에게 알려주는 역할 만약 상위 클래스(또는 인터페이스)에서 @Override가 붙어있는 메서드명과 동일한 이.. 더보기
[Java] 다형성(Polymorphism) 학습 목표 자바 객체지향 프로그래밍에서 다형성이 가지는 의미와 장점을 이해할 수 있다. 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든것을 의미 상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조할 수 있도록 허용한것,하위클래스에선 상위 클래스로 객체 참조는안됨. 예를들어 홍길동이 extends를 요리사로 하면 new홍길동()을 할 시 홍길동만 뜨는것이 아니라 홍길동 +요리사 가같이 메모리에 뜬다 반대로 new요리사() 를할시 요리사 만 뜬다. 홍길동 h1 = new 홍길동() ,요리사 y1 = new 홍길동() 은 되지만 요리사 y2 = new 요리사()밖에안된다. 참조변수의 타입 변환에 대한 내용을 이해하고, 업캐스팅과 다운캐스팅의 차이를 설명할 수 있다. 타입변환을 .. 더보기
[네트워크][HTTP]에러코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 2xx(Successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx(Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx(Server Error): 서버오류, 서버가 정상 요청을 처리하지 못함. 200 OK 201 Created 새로운 리소스가 생성됨 202 Accepted 요청이 접수 되었으니 처리가 완료되지 않았음 204 No Content 서버가 요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 없음.(웹문서 편집기에서 save 버튼을 눌렀을경우 아무런 내용이 없어도되는것처럼.) 대부분 200이나 201정도만 사용하기때문.. 더보기
[Java]컬렉션 열거형 (Enum) 여러 상수들을 보다 편리하게 선언할 수 있도록 만들어진 자바의 문법 요소. 학습 목표 Enum의 기본적인 개념을 이해하고 설명할 수 있다. 관련된 상수들을 같이 묶어놓은것 java 타입에 안전한 열거형을 제공 enum 계절 { 봄, 여름, 가을, 겨울} enum 날씨 {맑음, 흐림,눈,비} if (계절.봄 == 날씨.맑음) // 컴파일 에러 값은 둘다 0번째여서 같지만 타입이 달라서 비교 불가 (값과 타입을 모두 체크함) Enum이 등장하게 된 배경에 대해서 이해하고, 그 장점에 대해 설명할 수 있다. Enum의 문법 요소를 이해하고 적절하게 사용할 수 있다. 정의 하는 방법 enum 열거형이름{상수명1,상수명2, . . .} 열거형 상수의 배교에 ==와 compareTo()사용가능 .. 더보기
[Java]캡슐화(Encapsulation) 학습 목표 캡슐화의 핵심 개념과 목적을 이해하고 설명할 수 있다. 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하고 불필요한 외부 노출을 방지하기위함. (은닉) 접근제어자(Access Modifier)와 getter,setter로 캡슐화된 코드를 빼오거나 수정하거나 할수있다. 패키지의 개념과 import문이 어떻게 사용되는 지 이해할 수 있다. 특정한 목적을 공유하는 클래스와 인터페이스의 묶음 import문은 다른 패키지 내의 클래스를 사용하기 위해 import하는것. 자바에서 캡슐화를 달성하기 위핸 핵심적인 수단으로 접근제어자 네 가지를 이해하고, 각각의 접근 가능 범위를 설명할 수 있다. public(접근 제한 없음) > protected(동일 패키지 + 하위클래.. 더보기
[Java]기초 학습 목표 자바의 4가지 특징을 이해할 수 있다. 1.운영체제 독립적 -자바 이전의 언어들은 특정 CPU에서만 작동하거나 특정OS에 따라 다르게 작성해야하는 언어들이 대부분이였지만, 자바는 JRE(Java Runtime Environment: VM(자바 가상머신) + 표준 클래스 라이브러리)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌습니다. 2.객체 지향 언어(Object Oriented Programming : OOP) 모든 기능을 객체로 만들어서 사용해야함.장점 : 유지보수가 쉽고 확장성이 높음. 3.함수형 프로그래밍 지원 람다식과 스트림이 추가됨, 이를 사용하면 컬렉션의 요소를 필터링 ,매핑,집계처리하기 쉬워지고 코드가 간결해짐. 4.자동 메모리관리 (Garbage Collerct.. 더보기
[Java]상속(Inheritance) 학습 목표 상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다. 상속이란 기존 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법요소를 의미한다. 예를 들면 두 클래스를 상위클래스와 하위클래스로 나누어 상위 클래스의 멤버 (필드,메서드,이너클래스)를 하위클래스와 공유하는것을 의미한다. 여기서 우리는 이 두 클래스를 서로 상속 관계 있다고 하며 하위클래스는 상위 클래스가 가진 모든 멤버를 상속 받게된다. 따라서 하위 클래스의 멤버 갯수는 언제나 상위 클래스와 비교했을 때 같거나 많습니다 이러한 상위클래스 -하위 클래스의 관계를 부모관계로 표한하기도합니다.또한 클래스로부터 상속받았다라는 표현보다는 ~클래스로부터 확장되었다는 표현이 그 역할과 기능을 생각했을 때 더 적절한.. 더보기

728x90