JAVA

    [자바/JAVA] 프로그래밍 - 클래스(Class) - 메소드

    * 메소드 한 기능을 처리하기 위한 용도 패키지명 : 소문자로 시작 클래스명 : 대문자로 시작 변수명 : 소문자로 시작 메소드명 : 소문자로 시작 공통 : 낙타표기법(camel case) [표현법] 접근제한자 [예약어] 반환형(반환할 값의 자료형) 메소드명([매개변수1, 매개변수2,...]){ 수행내용; [return 결과값;] } 1. 매개변수 없고 반환값도 없는 메소드 package com.kh.chap06_method.controller; public class NonStaticMethod { // 1. 매개변수 없고 반환값도 없는 메소드 public void method1() { //return 0;=> 반환할 값 없어야한다. System.out.println("매개변수와 반환값이 둘다 없는 메소..

    [자바/JAVA] 프로그래밍 - 객체(Object) 실습 예제

    Product Class package com.hw1.model.vo; public class Product { //필드부 private String productId;// 상품아이디 private String productName;// 상품명 private String productArea; private int price; private double tax; // 생성자부 (기본 + 전체) // 기본 생성자 public Product() { } // 전체 생성자 (매개변수 생성자) public Product(String productId, String productName, String productArea, int price, double tax) { this.productId = productId..

    [자바/JAVA] 프로그래밍 - 클래스(Class) - 생성자(Constructor)

    생성자 public 클래스명([매개변수, 매개변수, ...]){ } 생성자를 작성하는 목적 객체를 생성해주기 위한 목적 * * 생성자 작성시 주의사항 1. 반드시 생성자명은 클래스명과 동일해야됨(대/소문자 구분) => 안그러면 오류남 2. 반환형이 존재하지 않음 (만일 반환형을 쓰게 되면 메소드로 인식해버림) 3. 매개변수 생성자를 명시적으로 작성하게 되면 기본생성자를 JVM이 자동으로 만들어주지 않음!! 즉, 어찌됐던 간에 기본생성자는 항상 작성하는 습관 들이자!! 기본생성자 public User() { // 기본생성자 (매개변수 없는 생성자) // 단지 객체 생성만을 목적으로 할 때 사용 // 기본생성자를 생략했을 경우 => "JVM"이 자동으로 만들어줬기 때문에 항상 객체 생성 가능 } 매개변수 생..

    [자바/JAVA] 프로그래밍 - 클래스(Class) - Field(전역변수, 지역변수)

    변수 구분 - 전역 변수 : 클래스 영역에 바로 선언한 변수 --> 클래스 내에서면 어디서든 적역으로 다 사용 가능하다. (외우는 팁! 전체지역!!) - 지역 변수 : 클래스 영역내에 어떤 특정한 구역 ({})에 선언한 변수 --> 선언된 해당 그 지역에서만 사용 가능하다. * 특정한 구역 : 메소드 {}, 제어문(if, for){} 등등 ... 1. 전역변수 - 필드 == 멤버변수 == 인스턴스 변수 * 생성시점 : new 연산자를 통해서 객체 생성 * 소멸시점 : 객체 소멸시 같이 소멸 - 클래스 변수 == static 변수 => 예약어 쓸 수 있는데 static이라는걸 쓰면 클래스 변수가 된다. * 생성시점 : 프로그램 실행(해당 객체 생성 안돼도)과 동시에 무조건 메모리 영역(static) 영역 ..

    [자바/JAVA] 프로그래밍 - 클래스(Class) 실습 예제

    예제) Person 객체를 생성하고 setter, getter 메소드를 이용하여 임의의 값을 넣어준 후 갑을 출력 인스턴스 변수 : 아이디, 비밀번호, 이름, 나이, 성별, 전화번호, 이메일 Person Class package com.kh.chap03_class.model.vo; public class Person { // 필드 선언 private String id; private String pwd; private String name; private int age; private char gender; private String phone; // 010-1111-2222 private String email; // setter 메소드 (7개) public void setId(String id) { ..

    [자바/JAVA] 프로그래밍 - 클래스(Class)

    예제) 아래의 클래스 다이어그램을 보고 클래스를 작성하세요. Product Class package com.kh.chap03_class.model.vo; public class Product { // 클래스 선언 구문에 작성가능한 접근제한자 (public, default) // default 라고 쓰는게 아니고 접근제한자를 지우면 default가 되는거임 // default로 하면 같은 패키지 내에서만 사용가능 / 다른 패키지에서는 해당 파일 사용 불가 => 못찾음 /* * * 필드(field) * * 필드 == 멤버변수 == 인스턴스 변수 * * [표현법] * 접근제한자 [예약어] 자료형 변수명; */ private String pName; private int price; private String ..

    [자바/JAVA] 프로그래밍 - 클래스(Class) 2.캡슐화

    7. 캡슐화 과정까지 적용해서 완벽한 클래스의 형태를 갖추게함!! 캡슐화 : 추상화를 통해 정의된 속성들과 기능들을 하나로 묶어 관리하는 기법중 하나로 클래스에서 가장 중요한 목적인 "데이터의 접근 제한" 을 원칙으로 외부로부터 "데이터의 직접 접근"을 막고 대신에 "데이터를 간접적으로나마 처리(값을 대입, 값을 돌려준다거나)" 할 메소드를 클래스 내부에 작성해서 관리 1) 정보은닉 : private 직접접근을 막기위해 private 라는 접근제한자 사용 2) setter / getter 메소드 만들어야함!! private 하는 순간 필드에 직접접근 불가!! setter 메소드 : 해당 필드에 대입시키고자 하는 값 전달받아서 해당 필드에 대입시켜주는 메소드 getter 메소드 : 해당 필드에 담긴값을 반..

    [자바/JAVA] 프로그래밍 - 클래스(Class) 1.추상화

    1. 객체지향언어 : "객체"를 "지향"하는 "언어"로 "객체 중심"으로 돌아간다고 생각하면 됨. *지양 => 좋지 않음 *지향 => 좋음 (추구한다.) 2. 객체 : 현실세계에 독립적으로 존재(목적이 있고 가치가 있고 의미가 있는)하는 모든 것들을 의미 (유형, 무형, 개념, ...) 현실세계에서는 객체들간의 상호작용으로 돌아감 (내가 물을 먹는다) 3. 객체지향 프로그래밍 : 현실세계의 객체들간의 상호작용 프로그래밍을 통해 가상세계로 구현하는 것 (내가 쇼핑몰에서 로그인 한다) 4. 구현하고자 하는 프로그램상의 필요한 객체들을 만들기 위해서(즉, 생성하기 위해서) : 클래스라는 틀을 먼저 만들어야됨!! (클래스란? 각 객체들의 속성(정보)들을 담아낼 그릇 같은 존재) => 이름,나이,주소,휴대폰번호 ..