목록JAVA (101)
Frog is cry
클래스에 선언된 필드와 메소드가 모두 객체 내부에 포함되는 것은 아니다. 객체가 있어야 사용 가능한 멤버가 있고, 그렇지 않는 멤버도 있다. 인스턴스 멤버 : > 객체마다 가지고 있는 넘버, 객체를 생성한 후 사용할 수 있는 필드와 메소드 인스턴스 필드 : > 힙 영역의 객체 마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장 인스턴스 메소드 : > 객체가 있어야 호출 가능한 메소드, 클래스 코드(메소드 영역)에 위치하지만, 이해하기 쉽도록 객체마다 가지고 있는 메소드라고 생각해도 됨. 정적 멤버 : > 객체와 상관없는 멤버, 클래스 코드(메소드 영역)에 위치 > 클래스에 고정된 멤버로서 객체 생성하지 않고 사용할 수 있는 필드와 메소드 정적 필드 및 상수 : > 객체 없이 클래스만으로도 사용 가능한 ..
메소드 오버로딩(overloading) > 같은 이름의 메소드를 여러개 선언 > 매개값을 다양하게 받아 처리하라 수 있도록 하기 위함 > 매개 변수의 타입, 개수, 순서 중 하나가 달라야 선언부 : > 리턴 타입, 메소드 이름, 매개변수 선언 void : > 리턴값이 없는 메소드는 리턴 타입으로 void를 기술해야 함 매개 변수 : > 메소드 호출 시 제공되는 매개값이 대입되어 메소드 블록 실행시 이용됨 리턴문 : > 메소드의 리턴값을 지정하거나 메소드 실행 종료를 위해 사용할 수 있음. 호출 : > 메소드를 실행하려면 "메소드 이름(매개값, ....)" 형태로 호출 오버로딩 : > 클래스 내에 같은 이름의 메소드를 여러개 선언하는 것을 말함.
생성자 오버로딩(overloading) > 매게 변수를 달리하는 생성자 여러개 선언 > 외부에서 제공되는 다양한 데이터를 사용하여 객체화 하기 위해 this() 코드 > 생성자에서 다른 생성자 호출 > 필드 초기화 내용을 한 생성자에만 집중 작성하고 나머지 생성자는 초기화 내용 가진 생성자로 호출 생성자 오버로딩 증가 시 중복 코드 발생 문제 해결 기본생성자 > 클래스 선언 시 컴파일러에 의해 자동으로 추가되는 생성자 ex) class A { A() {} } 생성자 선언 > 생성자를 명시적으로 선언 가능. 생성자를 선언하면 기본 생성자는 생성되지 않음. 매개 변수 > 생성자 호출 시 값을 전달받기 위해 선언되는 변수 ex) class A { A{String name, ...} { } } A a = new..
선언부, void, 매개변수, 리턴문, 호출, 오버로딩 메소드를 선언하고 호출하는 방법에 대해 알아본다. 메소드 선언부(signature) 리턴 타입 : 메소드를 리턴하는 결과의 타입 표시 메소드 이름 : 메소드의 기능 드러나도록 식별자 규칙에 맞게 이름 지음 매개 변수 선언 : 메소드 실행할 때 필요한 데이터를 받기 위한 변수 선언 메소드 실행 블록 : 실핼항 코드 작성 리턴 타입 > 메소드를 실행한 후의 결과값의 타입 > 리턴값 없을 수도 있음 (없을 시 void 입력) > 리턴값 있는 경우 리턴 타입이 선언부에 명시 메소드 이름 > 숫자로 시작하면 안되고, $와 _ 제외한 특수문자 사용 불가 > 메소드 이름은 관례적으로 소문자로 작성 > 서로 다른 단어가 혼합된 이름일 경우 뒤이어 오는 단어의 첫 ..
"객체직렬화" 객체를 전송 가능한 데이터 상태로 변환시키는기술 *객체 전송의 단게 1) 마샬링 : 직렬화된 객체를 바이트 단위로 분해 2) 데이터 순서에 맞게 전송 3) 언마샬링 :분해된 객체를 다시 복구 직렬화 가능한 객체 조건 - 원시자료형 - Serializable 인터페이스를 구현하는 클래스로 만들어진 객체 --------------------------------- ArrayList 클래스 implements Serializable{ 자료형 변수 자료형 변수 .. } 보안상의 이유로 일부 변수를 직렬화에서 제외하고 싶을 경우 transient 를 사용해서 직렬화에서 제외할 수 있다. --------------------------------- 카페프로그램 [메인화면] ☆★☆★Cafe Main☆★..
"복습" 바이트기반 스트림 바이트기반 보조스트림 InputStream OuputStream 문자기반 스트림 문자기반 보조스트림 Writer Reader ==================== * keyword - PrintStream - File 클래스 - 파일입출력 실습 : 전화번호부 -카페 영수증 출력 ==================== [PrintStream] : 데이터 기반 스트림의 다양한 형태로 출력할 수 있도록 출력과 관련된 기능(메서드)을 제공 *제공하는 메서드 - print(출력값): 값을 문자로 출력 - println(출력값): 문자를 출력하며 마지막에 줄바꿈 문자 자동 출력 - printf("형식지정자",출력값) : 정해진 형식대로 출력값을 출력 * System.out out은 Prin..
--------------------------- * keyword - 파일입출력 > 바이트 기반 스트림 > 바이트기반 보조 스트림 > 문자 기반 스트림 --------------------------- [입출력] IO란? Input Ouput을 의미 프로그램 기준 프로그램에 데이터가 들어온다면 input 프로그램의 데이터가 나간다면 output 파일입출력? 프로그램 - 파일간의 입력과 출력 파일 ->프로그램 (입력) read 파일 ~InputStream >~OutputStream - 문자 기반 >~Reader >~Writer --------------------------- * 파일입출력 작업순서 1) 파일스트림 객체 생성 2) 파일 작업: 입력, 출력 3) 파일 닫기 ------------------..
쓰레드(Thread) 프로그램 소스코드로 잘 짜여진 틀(실행되지 않은 상태) 프로세스 실행된 프로그램 운영체제로부터 시스템 자원을 할당받는 작업의 단위 운영체제 대신 JVM에 의해 실행된다. 쓰레드 프로세스의 특정한 수행 경로. 프로그램 처리 경로. - 단일 쓰레드 직렬적이다. 가장 마지막에 있는 작업이 가장 나중에 수행된다. 따라서 상대적으로 먼저 수행되어야 할 필요가 있는 작업이 나중에 수행되면 비효율적이지만, 정확한 시작과 끝이 있기 때문에 상대적으로 오류가 발생될 확률이 적다. - 멀티 쓰레드 병렬적이다. 하나의 프로세스를 동시에 처리하는 것 처럼 보이지만 사실은 매우 짧은 단위로 분할해서 차례로 처리한다. 여러개의 처리경로를 가질 수 있게 한다. 한 개의 처리경로를 여러개로 나누어 동시 작업이 ..