일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- String
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 직장인자기계발
- java
- 디자인
- 자바기본
- 자바예제
- 자바
- ncs
- js
- linux
- 웹
- 자바연습문제
- 패스트캠퍼스
- 리눅스
- 디자인패턴
- DesignPattern
- 스프링
- 자바기초
- javabasic
- 패캠챌린지
- java기초
- 재택근무
- 직장인인강
- 국비
- 데이터베이스
- Spring
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- DB
- 패스트캠퍼스후기
- Today
- Total
FIF's 코딩팩토리
자바 기초 NCS교육과정(14)-클래스 본문
클래스(calss)란?
클래스를 프로그래밍적 언어로 표현하자면 어떠한 객체의 변수(valiable) , 메소드(method) 의 집합이다 표현할수있으며
현실세계에 빗대어 말하자면 동일한 속성과 행위를 수행하는 객체의 집합이다. 라고도 표현할 수 있다.
Java065_class.java
public class Java065_class {
public static void main(String[] args) {
Person ps; //객체선언
ps=new Person(); //객체생성
ps.name="홍길동";
ps.age=30;
ps.gen='M';
System.out.printf("%s %d %c\n",ps.name,ps.age,ps.gen);
ps.eat();
ps.run();
// 객체선언 및 생성
Person pn=new Person();
pn.name="이영희";
pn.age=25;
pn.gen='F';
System.out.printf("%s %d %c\n", pn.name, pn.age, pn.gen);
ps.eat();
ps.run();
}
}
Java066_class.java
[도서관리] 제목 대출여부 칼의 노래 대출중 어두운 상점의 거리 대출가능 [객체 모델링] 객체의 특징 : 제목, 대출여부 객체의 기능 : 대출여부를 처리한다. |
class Book {
String title;
boolean state;
String process() {
if (state) {
return "대출가능";
} else {
return "대충 중";
}
}
}
public class Java066_class {
public static void main(String[] args) {
Book bk = new Book();
bk.title = "칼의 노래";
bk.state = false;
Book bs = new Book();
bs.title = "어두운 상점의 거리";
bs.state = true;
System.out.printf("%s, %s\n", bk.title, bk.process());
System.out.printf("%s, %s\n", bs.title, bs.process());
}// end main()
}//end class
Java067_class.java
[사각형 도형] 가로 세로 넓이를 구한다 둘레를 구한다 5 3 15 16 7 4 28 22 [객체모델링과정] 객체의 특징: 가로, 세로 객체의 기능 : 넓이를 구한다. 둘레를 구한다. [출력결과] [가로5, 세로3의 사각형] 넓이:15 둘레:16 ==================== [가로7,세로4의 사각형] 넓이:28 둘레:22 |
class Rect{
int width; //가로
int height;//세로
//넓이를 구하는 메소드 정의
int area() {
return width*height;
}
//둘레를 구하는 메소드 정의
int grith() {
return(width+height)*2;
}
void prn() {
System.out.printf("[가로%d, 세로%d]\n", width,height);
System.out.printf("넓이:%d\n",area());
System.out.printf("둘레:%d\n",grith());
}
}
public class Java067_class {
public static void main(String[] args) {
Rect t1=new Rect();
t1.width=5;
t1.height=3;
t1.prn();
System.out.println("==============================");
Rect t2=new Rect();
t2.width =7;
t2.height =4;
t2.prn();
}//end main()
}// end class
Java068_class.java
메뉴명 가격 갯수 떡볶이 2000 3 김말이 500 2 오뎅 300 4 [출력결과] 메뉴명:떡볶이 가격:2000 갯수:3 메뉴금액:6000 메뉴명:김말이 가격:500 갯수:2 메뉴금액:1000 메뉴명:오뎅 가격:300 갯수:4 메뉴금액:1200 ============ 총금액:8200 |
class MenuShop {
String menu; // 메뉴명
int price; // 가격
int cnt; // 갯수
// 주문메뉴 계산
int count() {
return price * cnt;
}
public void prn() {
System.out.printf("메뉴명:%s\n", menu);
System.out.printf("가격:%d\n" , price);
System.out.printf("갯수:%d\n" , cnt);
System.out.printf("메뉴금액:%d\n\n" , count());
}// end main()
}// end MenuShop
public class Java068_class {
public static void main(String[] args) {
MenuShop m1 = new MenuShop();
m1.menu="떡볶이";
m1.price=2000;
m1.cnt=3;
m1.prn();
MenuShop m2 = new MenuShop();
m2.menu="김말이";
m2.price=500;
m2.cnt=2;
m2.prn();
MenuShop m3 = new MenuShop();
m3.menu="오뎅";
m3.price=300;
m3.cnt=4;
m3.prn();
System.out.println("======================");
int sum=m1.count()+m2.count()+m3.count();
System.out.printf("총금액:%d",sum);
}
}
Java069_variable.java
class MemberVar{
//멤버변수는 기본값을 제공한다.(JVM)
byte var_byte;//0
short var_short;//0
int var_int;//0
long var_long;//0L
float var_float;//0.0F
double var_double; //0.0
boolean var_boolean;//false
char var_char; //\u0000
int[] num; //null
}//end MemberVar
public class Java069_variable {
public static void main(String[] args) {
int num; //지역변수-기본값이 제공안됨
//System.out.printf("num:%d\n",num);
MemberVar mv =new MemberVar();
System.out.printf("var_byte:%d\n",mv.var_byte);//0
System.out.printf("var_short:%d\n",mv.var_short);//0
System.out.printf("var_int:%d\n",mv.var_int);//0
System.out.printf("var_long:%d\n",mv.var_long);//0
System.out.printf("var_float:%.1f\n",mv.var_float);//0.0
System.out.printf("var_double:%.1f\n",mv.var_double);//0.0
System.out.printf("var_boolean:%b\n",mv.var_boolean);//false
System.out.printf("var_char:%c\n",mv.var_char);
System.out.printf("int[]:%s\n",mv.num);//null
}
}
Java070_constructor.java
생성자(constructor)
|
class HandPhone {
// 멤버변수
String name;
String number;
// 생성자
HandPhone() { }
HandPhone(String ne, String nb){
name=ne;
number=nb;
}
// 메소드
void prn() {
System.out.printf("%s %s\n", name, number);
}// end prn()
}
public class Java070_constructor {
public static void main(String[] args) {
/*
* 1. stack 영역에 4바이트 생성
* (객체변수 선언 : HandPhone ph)
* 2. heap영역에 HandPhone크기만큼 메모리 생성
* (new)
* 3. 멤버변수에 초기값을 할당
* (생성자 호출: HandPhone())
* 4. heap의 주소를 stack에 저장
* (=)
*/
HandPhone ph = new HandPhone();
ph.name="홍길동";
ph.number="010-2563-9029";
ph.prn();
HandPhone ne=new HandPhone("이영희","010-9725-8253");
ne.prn();
}
}
Java071_this.java
this:메모에 생성된 자신을 의미한다.
this.멤버변수;
this.메소드();
this(); 생성자 |
class Product {
String code;
String pname;
int cnt;
public Product() {
}
public Product(String code, String pname, int cnt) {//3
// 멤버변수와 매개변수 이름이 같을 때 멤버변수에 this 키워드를 명시한다.
this.code = code;//4
this.pname = pname;//5
this.cnt = cnt;//6
}//7
public void prn() {//9
System.out.printf("%s %s %d\n", code, pname, cnt);//10
}//11
public void call() {
// prn()
this.prn();
}
}// end Product
public class Java071_this {
public static void main(String[] args) {//1
Product pt = new Product("a001", "육류", 2);//2
pt.prn();//8
}//12
}
Java072_this.java
class Employees {
String name;
String dept;
int salary;
public Employees() {
this("홍길동", "보류", 3000);
}
public Employees(String name, String dept, int salary) {
this.name = name;
this.dept = dept;
this.salary = salary;
}
public void prn() {
System.out.printf("%s %s %d\n", name, dept, salary);
}
}
public class Java072_this {
public static void main(String[] args) {
Employees emp = new Employees("용팔이", "기획", 5000);
emp.prn();
Employees emp2 = new Employees();
emp2.prn();
}
}
Java073_class.java
class Song {
String title;
String artist;
String album;
String[] composer;
int year;
int track;
public Song() {
}
public Song(String title, String artist, String album, String[] composer, int year, int track) {
this.title = title;
this.artist = artist;
this.album = album;
this.composer = composer;
this.year = year;
this.track = track;
}
public void show() {
System.out.println("[실행결과]");
System.out.printf("노재 제목:%s\n", title);
System.out.printf("가수:%s\n", artist);
System.out.printf("앨범:%s\n", album);
System.out.print("작곡가:");
for (int i = 0; i < composer.length; i++) {
char chk=i<composer.length-1 ? ',':'\n';
System.out.printf("%s%c ",composer[i],chk);
/*if (i < composer.length - 1) {System.out.printf("작곡가:%s, ", composer[i]);
} else {System.out.printf("%s\n", composer[i]);
}*/
}
System.out.printf("년도:%d\n", year);
System.out.printf("트랙 번호:%d\n", track);
}
}// end song
public class Java073_class {
public static void main(String[] args) {
Song s = new Song("Dansing Queen", "ABBA", "Arrival", new String[] { "Benny Anderson", "Bjorn Ulvaeus" }, 1977,
2);
s.show();
}// end main()
}// end class
Java074_class.java
class Goods {
String name;
int price;
int numberOfStock;
int sold;
public Goods() {
}
public Goods(String name, int price, int numberOfStock, int sold) {
this.name = name;
this.price = price;
this.numberOfStock = numberOfStock;
this.sold = sold;
}
public void prn() {
System.out.printf("%-14s %8d %5d %5d\n", name, price, numberOfStock, sold);
}
}// end Goods
public class Java074_class {
public static void main(String[] args) {
/*Goods g1 = new Goods("nikon", 400000, 30, 50);
Goods g2 = new Goods("bbbb", 100000, 10, 40);
Goods g3 = new Goods("ccc", 600000, 60, 90);
g1.prn();
g2.prn();
g3.prn();*/
Goods[] goodArray=new Goods[3];
goodArray[0]=new Goods("nikon", 400000, 30, 50);
goodArray[1]=new Goods("bbbb", 100000, 10, 40);
goodArray[2]=new Goods("ccc", 600000, 60, 90);
/*for(int i=0;i<goodArray.length ;i++) {
goodArray[i].prn();
}*/
display(goodArray);
}
public static void display(Goods[] goodArray) {
for(int i=0;i<goodArray.length ;i++) {
goodArray[i].prn();
}
}//end display();
}
Java075_class.java
class Doctor {
String name; // 의사명
String medical; // 진료과목
int patient; // 대기환자수
public Doctor(String name, String medical, int patient) {
this.name = name;
this.medical = medical;
this.patient = patient;
}
public void prn() {
System.out.printf("%s %s %d\n", name, medical, patient);
}
}// end Doctor
public class Java075_class {
public static void main(String[] args) {
Doctor[] dt = new Doctor[5];
// 여기를 구현하세요//////////
dt[0] = new Doctor("김병조", "외과", 39);
dt[1] = new Doctor("이상만", "내과", 50);
dt[2] = new Doctor("박상기", "피부과", 20);
dt[3] = new Doctor("오상수", "내과", 25);
dt[4] = new Doctor("윤달수", "피부과", 30);
//////////////////////
search(dt, "내과");
}// end main()
public static void search(Doctor[] dt, String medical) {
// 여기를 구현하세요/////////////
for (int i = 0; i < dt.length; i++) {
if (medical == dt[i].medical) {
dt[i].prn();
}
}
}
}// end class
Java076_class.java
class Calc {
int first;
int second;
char ope;
public Calc() {
}
public Calc(int first, int second, char ope) {
this.first = first;
this.second = second;
this.ope = ope;
}
public int process() {
// 여기를 구현하세요.////////////////
/*if (ope == '+') {
return first + second;
} else if (ope == '-') {
return first - second;
} else if (ope == '*') {
return first * second;
} else{
return first / second;
}*/
switch(ope) {
case '+':
return first + second;
case '-':
return first - second;
case '*':
return first * second;
case '/':
return first / second;
}
return 0;
////////////////////////////////
}// end process()
public void prn() {
System.out.printf("%2d %c %2d = %d\n", first, ope, second, process());
}// end prn()
}// end Calc
public class Java076_class {
public static void main(String[] args) {
Calc[] nfo = null;
// 여기를 구현하세요/////////////
nfo=new Calc[2];
nfo[0]=new Calc(10,5,'+');
nfo[1]=new Calc(3,2,'*');
/////////////////////
display(nfo);
}// end main( )
public static void display(Calc[] nfo) {
for (int i = 0; i < nfo.length; i++) {
nfo[i].prn();
}
}// end display()
}// end class
Java077_class.java
class Insurance {
String code; // 상품코드
String name; // 상품명
String type; // 상품종류
int payment; // 납입보험료
public Insurance() {
}
public Insurance(String code, String name, String type, int payment) {
this.code = code;
this.name = name;
this.type = type;
this.payment = payment;
}
public void prn() {
System.out.printf("%s %s %s %d\n", code, name, type, payment);
}
}// end Insurance
public class Java077_class {
public static void main(String[] args) {
String search = "손해보험";
Insurance[] is = new Insurance[4];
is[0] = new Insurance("a001", "생명보험", "자동차보험", 30000);
is[1] = new Insurance("a002", "생명보험", "운전자보험", 20000);
is[2] = new Insurance("b001", "손해보험", "화재보험", 15000);
is[3] = new Insurance("b002", "손해보험", "해상보험", 25000);
int sum = process(is, search);
totalPrice(sum, search);
}// end main( )
public static int process(Insurance[] is, String name) {
// 여기를 구현하세요////////////////
int tot=0;
for (int i = 0; i < is.length; i++) {
if (name == is[i].name) {
tot += is[i].payment;
}
}
return tot;
}// end process( )
public static void totalPrice(int sum, String name) {
System.out.printf("%s 총납입액은 %d원 입니다.\n", name, sum);
}
}// end class
Java078_class.java
class CreditCard {
String cardName;
String cardNum;
int pay;
public CreditCard() {
}
public CreditCard(String cardName, String cardNum, int pay) {
this.cardName = cardName;
this.cardNum = cardNum;
this.pay = pay;
}
public void prn() {
System.out.printf("%s %s %d\n", cardName, cardNum, pay);
}
}// end CreditCard
public class Java078_class {
public static void main(String[] args) {
/// [출력결과]를 참조하여 구현하시요/////////////////
CreditCard[] cd = new CreditCard[3];
cd[0] = new CreditCard("기업은행", "42523-52325", 100000);
cd[1] = new CreditCard("하나은행", "52253-22623", 153000);
cd[2] = new CreditCard("신한은행", "16239-95235", 256000);
int sum = 0;
for (int i = 0; i < cd.length; i++) {
cd[i].prn();
sum += cd[i].pay;
}
System.out.println("총납입액:" + sum);
}// end main()
}// end class
Java073_overloading.java
오버로딩(overloading)
(즉 리턴 타입은 오버로딩을 구현하는데 아무런 영향을 주지 않는다.) |
class Calculator {
void addValue(int x, int y) {
System.out.println(x + y);
}
void addValue(int x, int y, int z) {
System.out.println(x + y + z);
}
double addValue(double x, double y) {
/* System.out.println(x+y); */
return x + y;
}
}
public class Java079_overloading {
public static void main(String[] args) {
Calculator cal = new Calculator();
cal.addValue(4, 8);
cal.addValue(2, 7, 5);
System.out.println(cal.addValue(1.0, 2.0));
}
}
Java080_varg.java
variable argument(가변매개변수)
|
class CountVarg {
void addValue(int... arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++)
sum += arr[i];
System.out.println(sum);
}
//고정 매개변수와 가변매개변수가 같이 사용될때는 언제나 고정 매개변수를 먼저 선언한다.
void sumValue(String name,int...arr) {
int sum=0;
for(int i=0;i<arr.length;i++) {
sum+=arr[i];
}
System.out.printf("name=%s sum=%d\n",name,sum);
}
}
public class Java080_varg {
public static void main(String[] args) {
CountVarg cv=new CountVarg();
cv.addValue(4,8);
cv.addValue(2,3,9);
cv.addValue(5,2,3,9);
cv.sumValue("홍길동",70,80,65);
cv.sumValue("길동",70,80,65,12,81,9,4);
}
}
Java081_for.java
public class Java081_for {
public static void main(String[] args) {
int[] num = { 10, 20, 30, 40, 50 };
for(int i=0; i<num.length;i++)
System.out.println(num[i]);
System.out.println("==========================");
/*
* 개선된 루프=확장된루프=개선된 for문
* for (데이터타입 변수= 배열 or 컬레션){
* 수행할 문장;
* }
*/
for(int data : num) {//배열이나 컬렉션
System.out.println(data);
}
}
}
Java082_for.java
class Employee {
String name;
int salary;
public Employee() {
}
public Employee(String name, int salary) {
this.name = name;
this.salary = salary;
}
public void prn() {
System.out.printf("%s %d\n", name, salary);
}
}
public class Java082_for {
public static void main(String[] args) {
Employee[] emp = new Employee[2];
emp[0] = new Employee("John", 5000);
emp[1] = new Employee("Steven", 8000);
for (int i = 0; i < emp.length; i++) {
/*emp[i].prn();*/
System.out.printf("%s %d\n",emp[i].name,emp[i].salary);
}
for(Employee data:emp)
data.prn();
}
}
Java083_static.java
[프로그램 실행과정] 1. 소스 코드 작성 Java083_static.java
2. 컴파일(클래스 파일생성) javac Java083_static.java (자바 바이트 코드)
2. heap area : 객체(인스턴스)가 생성되는 공간. new키워드에
3. method area : 클래스 정보와 클래스 변수(static)가 저장되는 곳
|
class StaticEx{
int x=5;
static int y=10;
public StaticEx() {
}
void prn() {
System.out.printf("%2d %2d\n",x,y);
}
}
public class Java083_static {
public static void main(String[] args) {
System.out.printf("StaticEx.y=%d\n",StaticEx.y);
StaticEx se=new StaticEx();
System.out.printf("se.x=%d se.y=%d\n",se.x,se.y);
StaticEx ss=new StaticEx();
System.out.printf("ss.x=%d ss.y=%d\n",ss.x,ss.y);
se.x=20;
se.y=30;
System.out.printf("se.x=%d se.y=%d\n",se.x,se.y);
System.out.printf("ss.x=%d ss.y=%d\n",ss.x,ss.y);
}
}
Java084_static.java
static 사용방법 class 클래스명{ |
class OrderStatic{
static {
System.out.println("static");
}
public OrderStatic() {
System.out.println("constructor");
}
public void prn() {
System.out.println("method");
}
}
public class Java084_static {
public static void main(String[] args) {
OrderStatic st=null;
st=new OrderStatic();
st.prn();
}
}
Java085_static.java
public class Java085_static {
public static void display() {
System.out.println("display");
}
public void process() {
System.out.println("process");
}
public static void main(String[] args) {
display();
/* static이 선언된 메소드에서는 비 - static자원(멤버변수, 메소드)
* 를 호출할 수 없다.
*/
//process();
Java085_static js=new Java085_static();
js.process();
}
}
Java086_main.java
public class Java086_main {
public static void main(String[] args) {
/*System.out.println(args[0]);
System.out.println(args[1]);*/
for(String data : args)
System.out.println(data);
}
}
'Back-End > 국비 NCS교과과정' 카테고리의 다른 글
자바 기초 NCS교육과정(16)-접근제어자 (0) | 2019.07.30 |
---|---|
자바 기초 NCS교육과정(15)-클래스 문제풀이 (0) | 2019.07.29 |
자바 기초 NCS교육과정(13)-메소드 문제풀이 (0) | 2019.07.10 |
자바 기초 NCS교육과정(12)-메소드 (0) | 2019.07.09 |
자바 기초 NCS교육과정(11)-배열 문제풀이 (0) | 2019.07.09 |