목록JAVA/개념정리 (29)
Frog is cry
메소드 오버로딩(overloading) > 같은 이름의 메소드를 여러개 선언 > 매개값을 다양하게 받아 처리하라 수 있도록 하기 위함 > 매개 변수의 타입, 개수, 순서 중 하나가 달라야 선언부 : > 리턴 타입, 메소드 이름, 매개변수 선언 void : > 리턴값이 없는 메소드는 리턴 타입으로 void를 기술해야 함 매개 변수 : > 메소드 호출 시 제공되는 매개값이 대입되어 메소드 블록 실행시 이용됨 리턴문 : > 메소드의 리턴값을 지정하거나 메소드 실행 종료를 위해 사용할 수 있음. 호출 : > 메소드를 실행하려면 "메소드 이름(매개값, ....)" 형태로 호출 오버로딩 : > 클래스 내에 같은 이름의 메소드를 여러개 선언하는 것을 말함.
생성자 오버로딩(overloading) > 매게 변수를 달리하는 생성자 여러개 선언 > 외부에서 제공되는 다양한 데이터를 사용하여 객체화 하기 위해 this() 코드 > 생성자에서 다른 생성자 호출 > 필드 초기화 내용을 한 생성자에만 집중 작성하고 나머지 생성자는 초기화 내용 가진 생성자로 호출 생성자 오버로딩 증가 시 중복 코드 발생 문제 해결 기본생성자 > 클래스 선언 시 컴파일러에 의해 자동으로 추가되는 생성자 ex) class A { A() {} } 생성자 선언 > 생성자를 명시적으로 선언 가능. 생성자를 선언하면 기본 생성자는 생성되지 않음. 매개 변수 > 생성자 호출 시 값을 전달받기 위해 선언되는 변수 ex) class A { A{String name, ...} { } } A a = new..
선언부, void, 매개변수, 리턴문, 호출, 오버로딩 메소드를 선언하고 호출하는 방법에 대해 알아본다. 메소드 선언부(signature) 리턴 타입 : 메소드를 리턴하는 결과의 타입 표시 메소드 이름 : 메소드의 기능 드러나도록 식별자 규칙에 맞게 이름 지음 매개 변수 선언 : 메소드 실행할 때 필요한 데이터를 받기 위한 변수 선언 메소드 실행 블록 : 실핼항 코드 작성 리턴 타입 > 메소드를 실행한 후의 결과값의 타입 > 리턴값 없을 수도 있음 (없을 시 void 입력) > 리턴값 있는 경우 리턴 타입이 선언부에 명시 메소드 이름 > 숫자로 시작하면 안되고, $와 _ 제외한 특수문자 사용 불가 > 메소드 이름은 관례적으로 소문자로 작성 > 서로 다른 단어가 혼합된 이름일 경우 뒤이어 오는 단어의 첫 ..
--------------------------- * keyword - 파일입출력 > 바이트 기반 스트림 > 바이트기반 보조 스트림 > 문자 기반 스트림 --------------------------- [입출력] IO란? Input Ouput을 의미 프로그램 기준 프로그램에 데이터가 들어온다면 input 프로그램의 데이터가 나간다면 output 파일입출력? 프로그램 - 파일간의 입력과 출력 파일 ->프로그램 (입력) read 파일 ~InputStream >~OutputStream - 문자 기반 >~Reader >~Writer --------------------------- * 파일입출력 작업순서 1) 파일스트림 객체 생성 2) 파일 작업: 입력, 출력 3) 파일 닫기 ------------------..
쓰레드(Thread) 프로그램 소스코드로 잘 짜여진 틀(실행되지 않은 상태) 프로세스 실행된 프로그램 운영체제로부터 시스템 자원을 할당받는 작업의 단위 운영체제 대신 JVM에 의해 실행된다. 쓰레드 프로세스의 특정한 수행 경로. 프로그램 처리 경로. - 단일 쓰레드 직렬적이다. 가장 마지막에 있는 작업이 가장 나중에 수행된다. 따라서 상대적으로 먼저 수행되어야 할 필요가 있는 작업이 나중에 수행되면 비효율적이지만, 정확한 시작과 끝이 있기 때문에 상대적으로 오류가 발생될 확률이 적다. - 멀티 쓰레드 병렬적이다. 하나의 프로세스를 동시에 처리하는 것 처럼 보이지만 사실은 매우 짧은 단위로 분할해서 차례로 처리한다. 여러개의 처리경로를 가질 수 있게 한다. 한 개의 처리경로를 여러개로 나누어 동시 작업이 ..
소프트웨어 디자인 설계 패턴 MVC(Model-View-Controller) Controller(DAO, Data Access Object) 현재 Application에서 연산에 필요한 기능들이 담겨 있는 페이지 보통 외부 저장소에 있는 데이터를 가지고 오는 기능들로 구현되어 있으며, 메소드만 선언되어 있다. Model(DTO, Data Transfer Object. VO, Value Object) DAO에 있는 메소드의 기능을 수행하면 그에 맞는 결과가 나오게 된다. 이 결과들을 담을 수 있는 객체를 Model이라고 하며 보통 DAO에 있는 메소드의 리턴타입 혹은 매개변수 자리에 사용된다. View 클라이언트의 요청에 맞는 결과 화면이 구성되는 페이지 웹 에서는 HTML이라는 마크업 언어로 구성되어 있..
Set Set은 집합이다. 중복없이 데이터를 관리하는 자료구조이다. 저장된 값은 인덱스가 없기 때문에 순서가 고정되어 있지 않다. 구현된 클래스는 HashSet이다. 값의 유무검사가 목적이기 때문에 검색속도가 굉장히 빠르다. 따라서 중복은 필요없다. Set은 검색 목적이 있기 때문에 순서 정보를 관리할 필요가 없어서 데이터 크기에 상관없이 검색에 걸리는 시간이 매우 짧다. 반면 ArrayList는 index를 관리해야 하기 때문에 상대적으로 시간이 오래 걸린다. 그러므로 기능적 차이가 없다면 Set을 사용한다. ------------------------------------------------------------------------------------------ HashMap Key와 Value..
Object 클래스 equals() 객체간의 주소 비교. String클래스에서는 값 비교로 재정의하여 사용한다. hashCode() 객체가 가지고 있는 주소 리턴. 만약 주소가 아닌 값을 비교하고 싶을 때에는 재정의 후 equals()에서 비교하여 사용한다. **Student.java 참고 -------------------------------------------------------------------------------- Wrapper Class 클래스 타입 = new 클래스타입(일반 타입): 박싱(boxing) 일반 타입 = 클래스 타입.일반타입Value(): 언박싱(unboxing) jdk1.5버전 이상부터는 오토를 지원한다. 클래스 타입 = 일반 타입;: 오토 박싱(auto boxing)..