국비교육

반응형
Backend/JAVA

[kh정보교육원 27일차] Client / Server / 통신 / Network

클라이언트에서 서버를 찾을때, 우리가 아는 주소 이름 naver.com으로는 찾을 수가 없다. naver.com은 주소값을 찾아오기 위한 문자열일 뿐이고, 실제 주소값은 모두 숫자로 되어있다. 실제로는 이렇게 통신을 하는데, DNS서버가 존재해서 naver.com의 IP주소 (예를들어 7.7.7.7) 를 주고받고, 이를 통해서 IP주소를 알게 된다. 하지만 이렇게 하면 컴퓨터만 찾게 된다. 컴퓨터 내에서 프로그램을 식별하려면 Port가 필요한데, 이 Port값은 찾지 못하는 것이다. =즉 , 프로그램을 실행하기 위해서는 IP주소와 Port번호가 필요하다. cmd창에서 ipconfig를 쳐보면, 나의 IPv4주소를 알 수 있다. InetAddress - 특정 도메인의 ip주소에 대한 정보를 관리하는 클래스..

Backend/JAVA

[kh정보교육원 26일차] Properties / Thread

Properties HashTable의 자식클래스 K,V가 String, String 형으로 고정되어 설정 정보를 관리하는데에 최적화 되어있다. //prop이라는 Properties 생성 Properties prop = new Properties(); 요소 설정 : setProperty prop.setProperty("class", "hello.world.ThankyouJava"); prop.setProperty("url", "https://kh.com"); prop.setProperty("id", "abcdefg"); 요소 가져오기 : getProperty String _class=prop.getProperty("class"); String url = prop.getProperty("url"); Str..

Backend/JAVA

[kh정보교육원 25일차] Stack / Queue / Set / Map

Stack LIFO(Last In First Out) 후입선출 구조 ex) jvm call stack, browser 뒤로가기/앞으로가기 Queue FIFO(First In First Out) 선입선출 ex) 대기리스트 관리 Set Collection 내부에 set. set내부에 HashSet이 존재. 중복 요소를 추가하지 않는다. Set setName = new Set(); 일 때 *Set은 인덱스 관련 메소드가 없다. 요소 개수 : setName.size() 요소의 포함 여부 : setName.contains("abc") //abc가 setName에 존재하는지 확인 요소 제거 : setName.remove("abc") //abc를 제거 요소 열람하기 - for문은 인덱스가 없어서 사용불가. - for..

Backend/JAVA

[kh정보교육원 23일차] Generic / Collection / List / List내장함수들 / Comparator

오늘 배운 것은 드디어 리스트 ! 파이썬때는 리스트를 엄청많이 썼기때문에 왜 리스트같은게 자바에는 없을까? 라고 생각했는데 역시나 없을리가... 배열에비해 20000000배 편리한 리스트에 대해 알아본다. 배열의 문제점 - 배열은 크기 변경이 불가능 - 넉넉하게 크기를 할당하면 메모리낭비, 적게 할당하면 다시 할당해야하는 번거로움. - 중간요소 삭제시, 뒤 요소들을 하나씩 당겨서 빈 공간이 없도록 직접 배열을 수정하는 코드 작성해야 함. - 중간요소 추가시, 기존데이터를 하나씩 뒤로 밀어서 공간이 생기도록 수정하는 코드를 작성해야 함. * 참고로 ArrayList compared 정렬기준메소드를 오버라이드 intList = [5,3,2,4,1] 일 때, 오름차순(기본정렬) 과 내림차순(역순정렬)을 해보겠..

Backend/JAVA

[kh정보교육원 21일차] Error / Exception 처리 (try-catch, checked & unchecked)

예외처리 Error / Exception 오류의 종류에는 다음과 같은 것이 있다. - 컴파일 에러 : 소스상의 문법 에러 - 런타임 에러 : 입력값이 틀렸거나, 배열의 입력 범위를 벗어났거나 계산식의 오류 등으로 인해 발생 - 논리 에러 : 문법상 문제가 없고, 런타임에러도 발생하지 않지만, 개발자 의도대로 작동하지 않는 에러 - 시스템 에러 : 컴퓨터 오작동으로 인한 에러 . => 소스 구문으로 해결 불가능 Error와 Exception에는 차이가있는데, 이를 알아보자 Error - 프로그램 진행시 치명적 상황이 발생한 것. 소스상 해결 불가. ex) OutOfMemoryError, StackOverflowError 등 1. OutOfMemoryError - jvm이 할당한 heap영역을 모두 소진한 ..

Backend/JAVA

[kh정보교육원 20일차] String,StringBuffer,StringBuilder / Wrapper / Calendar <--> Date / String 포매팅

API란, Application Programming Interface를 의미한다. String & StringBuilder String : 불변성. immutable 한 특성. -,+ 연산시 해당 리터럴을 변경하는 것이 아닌 새로운 리터럴 생성 StringBuilder : mutable 한 특성. 멀티쓰레드 동기화 미지원. 속도 빠름 StringBuffer : mutable 한 특성. 멀티쓰레드 동기화 지원. 속도 느림 이 개념은 실제로 저번 테스트에서 나왔었다. String s1="java"; String s2="java"; String s3=new String("java"); String s4=new String("java"); System.out.println(s1==s2);//true Syste..

Backend/JAVA

[kh정보교육원 19일차] 추상클래스 / 인터페이스

추상클래스 메소드 오버라이드 강제화 public void test6() { Animal[] animals = new Animal[5]; for(int i=0;i 자식클래스를 객체화해서 사용 차이점 추상클래스는 일반클래스 성격을 가지고 있다. field와 method를 가지고, 자식클래스에 물려줄 수 있다. 인터페이스는 일반 field와 method를 가질 수 없다. Java 1.8부터 default/static 메소드를 사용할 수는 있다. 특징 [추상클래스] - 0개이상의 추상메소드를 가질 수 있다. (추상메소드가 0개인 경우 객체화를 막기위한 목적이라고 보면 됨) - 자식클래스는 반드시 부모의 추상메소드를 구현해야 한다. [추상메소드] - abstract 키워드 - 몸통부가 없음. 몸통부는 자식클래스에..

Backend/JAVA

[kh정보교육원 18일차] ==와 equals / hashCode / clone / 복사생성자 / 다형성 / 정적바인딩과 동적바인딩

==와 equals 의 차이 == ) 동일성 비교 (identity) : 같은 주소값을 가진 객체인가 비교. (주소값 비교) equals ) 동등성 비교(equality) : 같은 내용을 가진 객체인가. (내용 비교) equals & hashCode 현재객체.equals(다른객체) - 현재객체.필드명 이 다른객체.필드명 과 같은지 (다르면 return false) equals를 제대로 사용하기 위해서는 Override가 필요하고, Override를 안했을 경우 obj의 equals를 쓰기 때문에 false가 나온다. equals의 비교결과가 true라면, hashCode 값도 같아야 한다. 이 역시 오버라이딩이 필요하다. 특정 필드값(동등성 비교에 사용)기준으로 hashCode를 재생성한다. 보통 equ..

Backend/JAVA

[kh정보교육원 15일차] static , non-static 메소드 / 오버로딩 / Call by Value / Call by Reference / 재귀메소드 / 생성자

Static / non-static 메소드 ​ 1. nonstatic 메소드 (멤버 / 인스턴스 메소드) - 객체를 생성 후 호출해야 한다. - 멤버변수 , 클래스변수 모두 접근할 수 있다. ​ 2. static 메소드 (클래스 메소드 ) - 객체 생성 없이, 클래스명으로 직접 호출하는 메소드 - 클래스 변수에만 접근할 수 있다. int a=100; static int s=99; public static void main(String[] args) { MethodStudy study = new MethodStudy(); study.test1(); MethodStudy.test2(); } /** * 멤버메소드 */ public void test1() { System.out.println(a); System..

Backend/JAVA

[kh정보교육원 14일차] UML 다이어그램 / 멤버변수와 클래스 변수 / 지역변수와 전역변수

13일차 수업에 이어서 UML 다이어그램을 진행한다. 이를 보고 클래스 작성하기를 과제로 주셨다. ​ Member class package net.kh.member.model; public class Member { private String memberId; private String memberPwd; private String memberName; private int age; private char gender; private String phone; private String email; public Member() { } //getter + setter public String getMemberId() { return memberId; } public void setMemberId(String..

반응형
유경(shin-6-0)
'국비교육' 태그의 글 목록