자바는 "프로토타입클래스" 이다 프로토타입클래스란? 객체가 수십개 있어도 메모리에는 딱 한개만 만들어지는 것 메모리 절약 가능하다! ex) Member클래스 1. Member 클래스 oop > Member.java package oop; //회원정보(아이디,이름,이메일)를 저장하기 위한 클래스 (VO클래스) public class Member { private String id="NoId"; private String name="NoName"; private String email="NoEmail"; public Member() { this("NoId","NoName","NoEmail"); } public Member(String id) { this.id=id; } public Member(String ..
분류 전체보기
1. 개념 값 저장이 목적인 객체를 생성하기 위한 클래스 행위를 구현하지 않음 즉, Setter & Getter 말고는 다른 메소드가 없음 ex. 회원정보(아이디,이름,이메일)를 저장하기 위한 클래스 (Member.java) vo클래스의 구성요소 필드 필드를 초기화시킬 수 있는 생성자 Setter & Getter메서드 데이터처리 클래스 & vo클래스를 가장 많이 만든다! 2. 예시 package oop; public class Member { private String id="NoId"; private String name="NoName"; private String email="NoEmail"; public Member() { this("NoId","NoName","NoEmail"); } public ..
1. this(키워드) 란? 메소드에 숨겨져 있는 매개변수 메소드에서 객체의 필드 또는 메소드를 사용하기 위해 this 키워드 사용 객체의 여러개 중 어떤 객체의 필드를 명확하게 구분하기 위해 사용하는 것 우리 눈에 보이지 않지만, 메소드에는 this라는 이름의 매개변수가 존재함 2. this 사용 예시 public Member{ //Field private String id; private String name; private String email; //Method public void display(Member this) { System.out.println("아이디 = " + this.id); System.out.println("이름 = " + this.name); System.out.printl..
1. 생성자(Constructor) 의 개념 객체를 생성하기 위한 특별한 메소드 즉, 새로운 인스턴스가 생성될때마다 호출되는 인스턴스 초기화 메소드 인스턴스를 만들어주는 것은 new 연산자이다. 생성자는 인스턴스를 초기화 시켜줄 메소드일 뿐이다. 2. 생성자(Constructor) 선언법 방법1) 컴파일러가 만들어주는 기본생성자만 사용 기본생성자(Default Constructor) = 매개변수가 없는 생성자 객체 생성 시 매개변수가 없는 기본 생성자를 컴파일러가 소스코드를 바이트코드로 읽으면서 기본생성자 자동추가 필드에는 기본값으로 초기값 저장 형식 접근지정자 클래스명( ){ } public Member( ){ } 예시 Member member1 = new Member(); //private filed..
1. 메소드 오버로드(overload)란? 메소드 오버로딩 : 오버로드 하는중! 클래스에 동일한 기능을 제공하는 메소드가 매개변수에 의해 여러개 선언되어야 할 경우, 메소드의 이름을 같도록 선언하는 기능 즉, 메소드의 이름이 같더라도 매개변수의 전달된 값에 따라 선택 호출 할 수 있도록 해줌 = 메소드 오버로드에 의한 다형성 오버로드 선언된 메소드는 매개변수에 전달되는 값에 의해 JVM이 메소드를 선택 호출해줌 오버로드 된 메소드의 예 Math.abs( ) System.out.println() ... !!주의!! : 모든 자료형이 되는 것은 아니니 어떤자료형을 사용할 수 있는지 확인하고 사용하자! 2. 다형성(Polymorphism) 이란? 하나의 객체가 여러 가지 타입을 가질 수 있는 것 따라서 같은 ..

🚘 oop > Car.java 🚘 oop > CarApp.java 1. 자동차를 객체 모델링하여 작성된 클래스 (Car.java) package A_oop; //속성: 모델명, 엔진상태, 현재속도 - 필드 //행위: 시동 온(On), 시동 오프(Off), 속도 증가, 속도 감소, 이동 중지 - 메소드 public class Car { //필드(Field) : 클래스에 선언된 모든 메소드는 필드 사용 가능 private String modelName;//모델명 private boolean engineStatus;//엔진상태 - false : Off, true : On private int currentSpeed;//현재속도 //생성자(Constructor) : 생성자 선언을 생략하면 매개변수가 없는 기본 ..
oop > Method.java oop > MehtodApp.java 📌1. 클래스 만들기 1) 클래스(Class)란? 객체를 만들기 위한 자료형 (참조형) 클래스를 만들어야 객체를 생성할 수 있음 객체(object) 대신 인스턴스(instance)로 표현 가능 현실세계의 존재하는 사물 또는 관념을 클래스라는 자료형으로 표현하여 객체로 구현 클래스 = 설계도 (메모리는 차지하지만 실체는 없다!) 클래스로 만든 객체 = 인스턴스 = 객체 . . 모두 같은 말 하나의 클래스로 객체를 여러개 만들 수 있음 클래스 : 현실세계에서 프로그램으로 쓰이기 위한 자료형 객체 : 프로그램에서 쓰이는 현실세계의 대상이 됨 클래스는 객체를 만들기 위한 틀, 기계, 장치 ,설계도 이다 클래스 = 자료형!!! 2) 클래스 선언..
1. oop(object oriented program)의 개념 1) 절차지향 프로그램 VS 객체지향 프로그램 비교 절차지향 언어 인간이 만들 수 있는 가장 보편적인 언어들 절차지향프로그래밍 언어들 기존의 프로그램들은 모두 절차지향언어로 만들었다! 절차지향 프로그램 배포하기 어려움 프로그램 만드는 데 오래걸림 많은 사람들 필요하므로 개발 비용 많이 듬 여러 사람들이 같이 만들다보니 유지보수의 효율성도 떨어짐 프로그램을 배포할 수 있는 방법이 없다! 값들을 처리할 수 있는 명령들은 일반적으로 함수로 받아 값들을 가져다 처리결과를 제공해줌 함수는 명령들을 적절히 조합하여 값을 효율적으로 처리하여 원하는 결과를 제공해줄 수 있음 이러한 함수들을 호출해서 프로그램을 만듦 문제는!!!!! 이 안에 있는 함수들을 ..