Java
Java 기초 상속(3) - static
Java 기초 상속(3) - static
2020.11.20기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 상속받았을 때 static을 사용하는 법을 이해한다. 코드 package ex12inheritance; /* static(정적) 타입의 맴버도 상속이 되고 , 하위 클래스에서 접근할때는 맴버변수의 이름만으로 접근이 가능하다. 단, 클래스 외부에서 접근할 경우 객체생성 없이 클래스명을 통해서도 접근이 가능하다. 즉 static이 가진 기본적인 규칙을 그대로 따른다. */ class Adder { public static int val = 0; /* static으로 선언되 맴버변수는 실제로는 외부(메소드 영역)에 생성되어 ..
Java 기초 상속(2) - 접근제어
Java 기초 상속(2) - 접근제어
2020.11.18기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 접근제어을 상속에서 어떻게 사용하는지 이해한다. 코드 package ex12inheritance; class Account{ /* 맴버변수가 상관관계에 있다 하더라고 private으로 선언되면 클래스 내부에서만 접근이 가능하다. 즉 상속받은 하위클래스에서는 직접 접근이 불간능하다. */ private int money; public Account(int init) { money = init; } /* 입금처리 : protected로 선언되었으므로 상속관계에서 접근 가능 */ protected void depositMon..
Java 기초 상속(1) - 기본개념
Java 기초 상속(1) - 기본개념
2020.11.18기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바의 상속에 대해 이해한다. 코드 package ex12inheritance; /* 상속(Inheritance) : 기존에 저의된 클래스에 메소드와 변수를 추가하여 새로운 클래스를 정의하는 것을 말한다. 부모클래스를 자식 클래스가 상속할 떄는 extends 키워드를 사용한다. */ //부모클래스(상위, 기본, super) : 사람의 일반적인 형태를 추상화함 class Man{ private String name; public Man() { System.out.println("Man클래스 디폴트 생성자 호출됨"); } ..
Java 기초 static(3) - 싱글톤 디자인 패턴
Java 기초 static(3) - 싱글톤 디자인 패턴
2020.11.17기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바의 싱글톤 디자인 패턴에 대해 이해한다. 코드 package ex11static; /* 싱글톤 디자인 패턴 : 클래스를 설계하는 디자인 패턴의 하나로써 하나의 인스턴스 즉 하난의 메모리를 생성해 이를 공유해서 사용하고자 할 때 사용하는 패턴이다. 작성방법 1. 생성자의 접근지정자를 private으로 정의한다. 2. 외부 클래스에서 생성자를 접근할 수 없으므로 new를 통해 객체생성은 불가능 하다. 3. 클래스 내부에 정적메소드로 해당 클래스의 객체를 반환하도록 정의한다. (getInstanc()) 4. 위 방법을 통..
Java 기초 static(2) - StaticBlock
Java 기초 static(2) - StaticBlock
2020.11.17기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바의 StaticBlock에 대해 이해한다. 코드 StaticBlock.java package ex11static; /* Static 블럭 : 동일 클래스안의 main메소드보다 먼저 실행되는 블럭으로 main매소드의 실행코드가 없어도 먼저 실행된다. 단, 다른 클래스에 main이 있는 경우에는 main이 순차적으로 실행되다가 static블럭이 있는 클래스가 객체화 될때 실행된다. 이때 생성자보다 static블럭이 먼저 실행된다. */ public class StaticBlock { //인스턴스형 맴버 int insta..
Java 기초 static(1)
Java 기초 static(1)
2020.11.17기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바에서의 static에 대해 이해합니다. 코드 package ex11static; /* static variable(정적변수) -맴버변수 앞에 static 지정자가 붙으면 정적변수가 된다. - 정적변수는 JVM(자바가상머신)에 의해 프로그램이 로드되는 시점에 초기화 된다. -main() 메소드가 실행되기 전에 이미 초기화 되므로 main메소드 실행시 별도의 선언없이 변수를 사용할 수 있다. 접근 방법 -클래스 내부 변수명으로 접근 가능(일반적인 맴버변수와 동일함) -클래스 외부 참조변수.변수명 or 클래스명.변수명. ..
Java 기초 접근제어지시자 - 연습문제(1)
Java 기초 접근제어지시자 - 연습문제(1)
2020.11.16기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 시나리오 사각형을 구성하는 두개의 x좌표 y좌표를 생성자의 매개변수로 넘기고 그 넓이를 구하는 클래스를 만들어라 (단, x,y좌표가 0보다 작거나 100보다 크면 안되며 오른쪽의 x,y좌표가 왼쪽 x,y좌표보다 작아서는 안된다.) 다음과 같은 값이 나와야 합닌다. class QuRectangle { public static void main(String[] args) { //여기부터 // Rectangle rec = new Rectangle(); // rec.ulx=22; // rec.uly=22; // rec.lrx=10;..
Java 기초 접근제어지시자 - 캡술화
Java 기초 접근제어지시자 - 캡술화
2020.11.16기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 캡슐화에 대해 이해한다. 코드 package ex10accessmodifier; /* 캡슐화(Encapsulation){ : 여러가지 비즈니스 로직을 하나로 묶는다는 의미와 업무의 순서까지 고려한 형태의 로직을 구성한다는 의미를 가지고 있다. 즉, 관련있는 메소드를 하나의 클래스로 묶는것을 말한다. */ class MemberRegist{ void doMenberRegist() { System.out.println("1. 회원가입을 진행합나다."); } } class CongratulationPoint{ void doC..
Java 기초 접근제어지시자 - 과일판매
Java 기초 접근제어지시자 - 과일판매
2020.11.16기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 과일 판매자와 구매자를 통해 정보은닉을 이해한다. 코드 저번 게시물에서 작성했던 과일 판매자 구매자를 통해 정보 은닉에 대해 알아보겠습니다. E02FruitSalesMain5.java package ex10accessmodifier; //과일 판매를 추상화한 클래스 class FruitSeller5{ int numOfApple; //판매자의 사과 보유 갯수 int myMoney; //판매 수익 final int APPLE_PRICE; //사과의 단가 /* 상수는 값이 변경이 불가능하고, 단 한번만 초기화되기 때문에 일반..
Java 기초 접근제어지시자 - 패키지편
Java 기초 접근제어지시자 - 패키지편
2020.11.13기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바에서 각기 다른 패키지에서 접근 제어지시자가 어떻게 작동하는지 이해한다. 패키지 E01AccessModifier2와 E01AccessModifier1을 서로 다른 패키지에 넣고 같은 접근지시자로 구성한 후에 E01AccessModifierMain.java파일에서 객체를 생성하고 어떻게 다르게 작동하는지 알아보겠습니다. 먼저 코드를 보여드리겠습니다. E01AccessModifier1.java package ex10accessmodifier; /* class를 정의할 때는 반드시 public과 default(생략형)만 ..
Java 기초 package(3)
Java 기초 package(3)
2020.11.12기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 저번에 만들어 보았던 과일판매자 구매자 클래스를 각 ex09package.kosmo.seller패지지와 ex09package.kosmo.buyer패키지에 묶어서 만들어 본다. 그때 만들었던 과일클래스를 복사 붙여넣어 구성을 만든다. 패키지 코드 package ex09package; import ex09package.kosmo.buyer.FruitBuyer4; import ex09package.kosmo.seller.FruitSeller4; /* 연습문제] 해당 프로그램을 아래의 지시에 따라 패키지로 구분하여 정상 실행되..
Java 기초 package(1)
Java 기초 package(1)
2020.11.12기본 환경 JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 목표 자바에서 관리하는 패키지 속성에 대해 이해한다. 패키지 패키지를 먼저 보면서 설명을 해드리겠습니다. 이번에 주목해야 할 클래스와 패키지는 PackageMain.java, CommonUtil.java, ex09package.kosmo.util 입니다. 먼저 설명해 드릴것은 패키지 속성입니다. 윈도우 탐색기에서 패키지를 찾아보겠습니다. 다음과 같이 ConnonUtil 파일은 package패키지 하위 kosmo하위 util폴더에 있습니다. 그래서 PackageMain.java 파일에서 import를 kosmo.util만 해주..