목록Java (34)
누구나공부하는사이트
toString() 과 String.valueOf()는 Object값을 String형으로 변환할 때 주로 사용하는 메소드 두 메소드는 String의 형태로 값을 변환해준다. 하지만 변경할 값이 null일 경우에 차이가 있다. 두 메소드의 차이점은 Null값에 따른 NullPointerException의 발생 유무이다. toString(): null 값을 형 변환 시 NullPointerException(NPE) 발생 ---> Object값이 String이 아니여도 출력 String.valueOf(): 파라미터로 null이 오면 "null" 문자열을 출력
getOrDefault -찾는 키가 존재한다면 찾는 키의 값을 반환하고, 없다면 기본 값을 반환하는 메서드 getOrDefault(key, DefaultValue) 반환값: 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 찾는 키가 존재하지 않으면 디폴트값을 반환한다.
프로그램을 공부하면서 HTTP프로토콜에 대해서 대강 공부를 하였지만, 머릿속에 정리는 되지 않아서 다시 공부하게 되었다. HTTP프로토콜이란 -인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 것 -애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다. (위의 자료를 보면 TCP/IP는 3계층과 4계층에서 작동하는 것 같다.) -HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계되어 있음 -HTTP로 보낼 수 있는 데이터는 HTML문서,이미지,동영상 오디오 텍스트 문서등 여러 종류가 있다. -하이퍼텍스트 기반으로(Hypertext) 데이터를 전송하겠다(Transfer) = 링크기반으로 데이터에 접속한다는 의미이다. 작동방식 HTTP는 서버/클라이언트 모델을 따른다. 클라이언트에..
Array와 lIst 둘다 [] String[] str ArrayList str Array(배열) 여러 개의 데이터를 하나의 이름으로 그룹핑해서관리 List(리스트) 리스트도 배열과 같이 그룹핑해서 관리 Array(배열) 정해진 공간, 식별자(인덱스가 존재) List(리스트) 식별자(인덱스가 존재x), 앞의 요소가 삭제되면 새로 추가되는 요소가 그 공간에 저장될 수 있음 가장 큰 차이점 Array(배열)은 크기 할당이 필요하고, 리스트는 크기 할당할 필요가없다. 그래서 List는 .size() ArrayList는 뭘까?? List ArrayList LinkedList ArrayList는 Array(배열)와 List(리스트)의 장점을 합친 것 배열의 특성인 index로 식별자를 쓰는 것이 가능하고 리스트 ..
Java의 특징 - 기본 자료형을 제외한 모든 요소들이 객체로 표현된다. - 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어이다. - Garbage Collector를 통한 자동적인 메모리 관리 - 멀티쓰레드(Multi-thread)를 지원 - 다양한 Open 라이브러리 존재 - OOP(객체지향언어): 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해 전체 프로그램을 개발하는 기법 캡슐화..? 클래스의 내부 변수와 메소드를 하나로 패키징하는 것 객체에 선언된 변수나 메소드가 구분없이 접근할 수 있으면 정상적인 객체라고 보기 어렵다. 비슷한 개념의 은닉화 정보 은닉은 객체의 내부 구현을 숨김으로써 객체가 반드시 정해진 메소드를 통해 상호작용하도록 유도한다. 캡슐화의 장점 객체..
Java 특징 - 자바가 가상머신(JVM)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다(운영체제에 독립적) -운영체제에 독립적이다 Q.운영체제에 독립적이라면서 왜 설치할떄에는 운영체제에 맞춰서 설치해야할까? A.Java 어플리케이션은 운영체제나 하드웨어가 아닌 JVM(자바가상머신)과 통신한다. 내가 작성한 java코드를 JVM이 읽을 수 있게 하려면 Java compiler를 통해 JVM이 읽을 수 있는 형식으로 변환해야한다(바이트코드로 변환해야 한다.) -작성한 java코드를 jvm이 읽을 수 있게 하려면 java compiler가 변환해준다.(바이트코드) jvm이 읽을 수 있는 형식으로 -A.class 형식의 파일은 JVM이 읽을 수 있는 형식. 운영체제가 읽을 수 있는 형식이 아니다. -이를 운..
public class Wrapper1 { public static void main(String[] args) { int num1 =100; // Integer num2 = new Integer(num1); //없어지거나 없어질예정 Integer num2 = num1; //많이 사용x (박싱) System.out.println(num1); System.out.println(num2); int num3 = num2.intValue(); //(언박싱) int num4 = num2; //(언박싱) 객체를 num4에 저장 literal표기법 System.out.println(num3); System.out.println(num4); // Integer num5 = new Integer(10); Integer ..
1.래퍼 클래스(Wrapper Class) //기본형 속도빠름 //기본타입 stack에있음 주소저장x, 값이 저장 -기본형(primitive type)변수 데이터를 객체로 취급해야 할 경우 객체로 포장해주는 클래스 //stack주소저장 heap값저장 비교할때? -자바는 객체지향 언어지만 기본형이라는 예외를 둔 이유는 성능때문 //파이썬은 기본형x 래퍼 클래스의 필요한 이유 -기본형 변수는 값을 저장하고, 참조형 변수는 주소를 저장하기 때문 -컬렉션 프레임워크(자료구조)는 참조형 변수만을 다루기 때문 //자료찾을때 편한도구 -멀티쓰레딩에서 동기화를 지원하려면 참조형변수가 필요하기 때문 //동기(실행다하고 다음으로 넘어감 ex)티켓 동시에x),비동기(프로그램 진행하다가 로딩진행중에도 프로그램을 사용가능하게하..