목록전체 글 (163)
Frog is cry
package day17; // 메소드 선언 public class Calculator { // 메소드 void powerOn() { System.out.println("전원을 켭니다."); } int plus(int x, int y) { int result = x + y; return result; } double divide(int x, int y) { double result = (double)x / (double)y; return result; } void powerOff() { System.out.println("전원을 끕니다."); } } package day17; public class Calculator_Ex { public static void main(String[] args) { Ca..
Singleton package singleton; // 단 하나의 객체만 생성하고싶을때 사용 public class Singleton { private static Singleton singleton = new Singleton(); // private : 내부에서 생성자 사용가능 private Singleton() {} static Singleton getInstance() { return singleton; } } package singleton; public class Singleton_Ex { public static void main(String[] args) { //Singleton obj1 = new Singleton(); //Singleton obj2 = new Singleton(); S..
패키지 선언, import문, 접근제한자, Getter/Setter 패지키 > 패키지의 물리적인 형태는 파일 시스템의 폴더 > 패키지는 클래스의 일부분으로, 클랙스를 유일하게 만들어주는 식별자 역할 > 클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식 > 클래스의 전체 이름은 패키지 > 클래스 사용해서 다음과 같이 표현 패키지 선언 > 클래스 작성 시 해당 클래스가 어떤 패키지에 속할 것인지를 선언 package.상위패키지.하위패키지; import문 > 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속된 경우 > 해당 패키지 클래스 또는 인터페이스 가져와 사용할 것임을 컴파일러에 통치 접근제한자 (access modifier) > 클래스와 인터페이스 및 이들이 가진 멤버의 접근 제..
클래스에 선언된 필드와 메소드가 모두 객체 내부에 포함되는 것은 아니다. 객체가 있어야 사용 가능한 멤버가 있고, 그렇지 않는 멤버도 있다. 인스턴스 멤버 : > 객체마다 가지고 있는 넘버, 객체를 생성한 후 사용할 수 있는 필드와 메소드 인스턴스 필드 : > 힙 영역의 객체 마다 가지고 있는 멤버, 객체마다 다른 데이터를 저장 인스턴스 메소드 : > 객체가 있어야 호출 가능한 메소드, 클래스 코드(메소드 영역)에 위치하지만, 이해하기 쉽도록 객체마다 가지고 있는 메소드라고 생각해도 됨. 정적 멤버 : > 객체와 상관없는 멤버, 클래스 코드(메소드 영역)에 위치 > 클래스에 고정된 멤버로서 객체 생성하지 않고 사용할 수 있는 필드와 메소드 정적 필드 및 상수 : > 객체 없이 클래스만으로도 사용 가능한 ..
메소드 오버로딩(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☆★..