본문 바로가기

웹 개발/Java

(43)
[Web_JAVA] 19 ● 접근 권한 제어자(접근자) 1. default - 다른 패키지에서 접근 불가 2. public - 모든 곳에서 접근 가능 - 대표 클래스를 의미할 때 사용한다. - 모든 파일에서 public 클래스는 1개이다. 3. protected - 다른 패키지에서 접근 불가(자식은 허용) 4. private - 다른 클래스에서 접근 불가 ● 객체 간 타입 비교 1. instanceof - 객체 instanceof 클래스타입 : 조건식(true 또는 false 중 하나가 나오는 식) - 객체가 클래스타입이면 true - 객체가 클래스타입이 아니면 false 실습(상속) 1. 부모 클래스(Car) 작성하기 class Car{ // 변수 // 브랜드, 색상, 가격 String brand; String color; i..
[Web_JAVA] 18 ● 상속(inheritance) 1. 기존에 선언된 클래스의 필드를 새롭게 만들 클래스의 필드로 사용하고자 할 때 사용한다. 2. 여러 클래스 선언 시 필드가 겹치는 경우, 부모 클래스를 먼저 선언하고 공통필드를 묶어서 자식 클래스에게 상속해준다. ● 상속 문법 - extends 키워드를 사용한다. (ex) class A{ A 필드 } class B extends A{ A, B 필드 } - A : 부모 클래스, 상위 클래스, 슈퍼 클래스, 기반 클래스 - B : 자식 클래스, 하위 클래스, 서브 클래스, 파생 클래스 ● super() - 부모 생성자 - 자식 클래스 타입의 객체로 부모 필드에 접근할 수 있다. - 하지만 자식 생성자만 호출하기 때문에, 자식 필드만 메모리에 할당된다고 생각할 수 있다. -..
[Web_JAVA] 17 실습(메소드) - 어떠한 직업의 수익 창출 프로그램 1. Primitive.java(필요한 메소드 모음) 작성하기 - 필요한 변수 선언하기 String position = "원시인"; // 등급 int grade = 3; // 등급 점수 int money; // 현재 잔액 int income; // 수익률 int rating; // 사냥 추가 성공률 // 전역변수(모든 영역에서 Random 객체를 사용하기 위해 선언) Random r = new Random(); ※ 생성자 생성하기 public Primitive() {;} - 수렵하기(사냥) boolean hunt(Wild wild) { int[] arData = new int[10]; // 10%단위 확률 배열 int rating = 0; // 확률 /..
[Web_JAVA] 16 ● 변수의 종류 1. 지역변수(local variable) - 클래스 중괄호 영역은 포함되지 않으며, 메소드 또는 그 안의 영역에서 선언된 변수 2. 매개변수(parameter) - 메소드의 소괄호 안에서 선언되는 변수, 해당 메소드 안에서만 사용 가능 3. 전역변수(global variable) - 클래스 중괄호 영역에서 선언된 변수, 클래스 내 전 지역에서 사용 가능 4. 정적변수(static variable, class variable) - 객체 간 공유, 편의성 ● 저장기억부류(Storage class) 실습(변수) 1. 전역 변수 ※ 변수 및 메소드 생성 public class Variable1 { int data = 10; void increaseData() { System.out.printl..
[Web_JAVA] 15 실습(메소드) - 동물 키우기 프로그램 1. 필요한 변수 선언하기 String name; // 이름 int age; // 나이 String feed; // 먹이 종류 int feedCount; // 먹이 개수 int life; // 생명 ​ ​ ※ 생성자 생성하기 public Animal() {;} public Animal(String name, int age, String feed, int feedCount, int life) { this.name = name; this.age = age; this.feed = feed; this.feedCount = feedCount; this.life = life; } 2. 먹기(먹이 개수 1 감소, 생명 1 증가) boolean eat() { if(feedCoun..
[Web_JAVA] 14 실습(메소드) - 자동차 shop 프로그램 1. 브랜드, 색상, 가격 변수 선언하기 // 전역변수는 자동으로 초기화된다. String brand; // null String color; // null int price; // 0 boolean check; // false String pw = "0000"; int policeCount; // 0 ※ 생성자 생성하기 public Car() {;} public Car(String brand, String color, int price) { this.brand = brand; this.color = color; this.price = price; } public Car(String brand, String color, int price, String pw) {..
[Web_JAVA] 13 ● 클래스(반) - 공통 요소를 한 번만 선언해 놓고 가져다 사용만 하도록 설계한다. 1. 타입이다. - 클래스 안에 선언된 변수와 메소드를 사용하고 싶다면, 해당 클래스 타입으로 변수를 선언해야 한다. 2. 주어이다. (ex) 원숭이가 바나나를 먹는다. → 영어 : Monkey eats the banana. → 자바 : Monkey.eat("banana"); -------- --- -------- 주어 동사 목적어 ● 클래스 선언 class 클래스명 { 필드(변수, 메소드) } ● 클래스의 필드 사용 1. 객체화(instance) - 객체(instance variable)를 만드는 작업 - 추상적인 개념을 구체화시키는 작업 - 클래스명 객체명 = new 생성자(); 객체명.필드 ● 생성자 - 클래스이름..
[Web_JAVA] 12 ● 메소드의 목적 1. 재사용(특정성을 부여해서는 안된다.) 2. 소스코드 간결화 ● 리턴해야 할 때 - 사용한 쪽에 로직의 결과를 전달해야 할 때 - 메소드 내에서 모든 작업이 끝날 수 없을 때 ● 리턴하면 안될 때 - 사용한 쪽에 로직의 결과를 전달할 필요가 없을 때 - 메소드 내에서 모든 작업이 완료될 때 실습(메소드) 1. 두 정수의 나눗셈을 해주는 메소드(몫과 나머지) import java.util.Scanner; public class MethodTask { int[] div(int num1, int num2) { int[] result = new int[2]; result[0] = num1 / num2; // 몫 result[1] = num1 % num2; // 나머지 return resul..