본문 바로가기

전체 글

(141)
생성자 ※ DTO(DataTransferObject) : 데이터 전달용 객체, 상품에 대한 정보가 담긴 가방 DAO(DataAccessObject) : 데이터 접근용 객체 ※ new Product();에서 (); : 생성자 호출 ()안에 인자값 넣을 수 있다. cf) JVM이 알아서 소멸자 담당해서 c++엔 소멸자 있지만 자바에는 없다 - 문서용 주석으로 만든 파일 Constructor Summary : 생성자 요약 ※ 생성자 객체 생성 시 자동 호출되는 특수 메서드이다. 객체의 초기화 역할을 담당한다. - default constructor 컴파일시 소스코드에 생성자가 하나도 없을 경우 자동 만들어진다 - default constructor 형태 : 클래스이름(){} // 매개변수 없는 생성자로 만들어짐(vo..
this //제공자코드 class Employee { String no; String name; int salary; void setNo(String no) { this.no = no; // 변수이름이 같을 때 매개변수를 우선시해서 no = no; 불가능 // 사용자가 쓰기 편하게 가독성을 높여야한다. // 정확히 멤버변수임을 알리려고 this.을 사용한다. this.는 현재 사용중인 객체를 알리는 자바 예약어 // 메서드나 생성자 내부에서 사용 가능 // 객체 안에서 자기 자신을 지칭하는 뜻 // this.를 쓴 이유 : 객체지향의 목적에 부합하기 위해, 절차지향언어에서는 사용하지 않는다 // 사용자가 매개변수 이름 보고 짐작하게 하려고 멤버변수랑 이름 같이줌. // 다르면 굳이 this 안써도됨. } void..
문서용 주석 document comment /** 문서용 주석 document comment * 사용설명서 * 메소드 위에 작성 */ ※ 사용설명서 문서로도 작성함 문서를 만드려면 document comment가 필요하다 프로젝트 중에서도 document comment 써야하는 프로젝트가 있고 아닌것도 있다 ※ 작성한 문서용 주석 문서로 내보내는 법 VM options 에 넣기 : -locale ko_KR -encoding UTF-8 -charset UTF-8 -docencoding UTF-8
클래스 예제 ※ call by value : 값이 그대로 복붙, 자바의 인자값은 무조건 이거 call by reference : 참조값이 복붙 ※ 객체는 메서드의 선언부만 가져옴 현재사용중인 객체 = this. 멤버변수 앞에 this.이 생략된것 //제공자코드 /** * TV용 클래스이다 * @author 작성자 * @version 1.0 */ class TV{ //boolean power = false; boolean power; // 값을 주지 않아도 자동초기화가 false int channel; int volume; /** * 전원을 켠다 */ void powerOn(){ power = true; } /** * 전원상태를 반환한다 * @return 전원이 켜진 상태면 true반환, 꺼진 상태면 false를 반환..
클래스 ※ 클래스의 구성 클래스 선언부 { 멤버변수 생성자 메서드 } ※ public class 클래스이름{ // - 클래스 선언부 ※ 변수 : variable이라고도 하고 field라고도 함 ▷ 멤버필드(멤버변수) class에서 선언한 변수. class 내부 어디에서든지 사용 가능 - 종류 : non-static variable(=instance variable) : static variable ▷ 지역변수 자동 초기화되지 않기 때문에 개발자가 반드시 초기화 작업 진행해줘야 한다. static 변수 : 메모리를 너무 오래차지하기 때문에 왠만하면 안쓰는게 좋다. 객체 사이의 공유변수라고도 한다. 인스턴스변수 : non-stati c변수, 객체가 생성될 때 자동 초기화 변수 종류 자동초기화 초기화시점 메모리영역 ..
이클립스 새 프로젝트 만들기 ※ 작업공간과 프로젝트 공간 차이 - 작업공간 : D:\KOSA202307\myJAVA - 프로젝트 공간 : D:\KOSA202307\myJAVA\basic ※ 새 프로젝트 만들기 ※ 새 클래스 만들기
절차지향 VS 객체 지향 ※ 절차지향언어(C, COBOL) ex) 원을 회전시킨다 (ver1) + 사각형을 회전시킨다(ver up해서 기능 추가) → 절차지향개발자들은 회전시킨다는 기능부터 먼저 완성하려고 함 ▷ 제공자용 코드(기능용 함수) 만들기 (ver1) int 타입의 매개변수 만듬 void rotate(int radius) { //radius를 반지름으로 중심축 기준으로 회전시킨다 } (ver2) 버전마다 rotate 함수의 내용이 변경되어야하는 불편함이 있음 void rotate(int opt, int a, int b){ if(opt == 1) { // 원 a를 반지름으로 중심축 회전시킨다 } else if(opt == 2) { // 사각형 a를 가로, b를 세로로 중심축 회전 } } ▷ 사용자용 코드 (제공자용 코드(..
2차원 배열 예제 public class ArrayTest { public static void main(String[] args) { // 2차원 배열 int [][] arrTwo = new int[3][2]; int num = 1; /* //arrTwo[0][0] = 1; //arrTwo[0][1] = 2; // 위의 내용을 아래처럼 for문으로 변경 for(int col = 0; col