package com.annoy;//내부 클래스

class Inner6{
	public void disp(){
		System.out.println("disp() 메소드 호출");
	}
}

public class InnerTest {

	public static void main(String[] args) {
		//익명 내부 클래스 만들기 전단계
		class Inner extends Inner6{
			public void disp(){//메소드 오버라이딩
				System.out.println("자식 클래스의 disp()");
			}
		}
		//Inner i = new Inner();
		//i.disp();
		//이것은 자주 사용할경우
		
		//한번만 사용할경우 객체생성하자마자 호출하는게 낫다
		new Inner().disp();
		
	}
}

자식 클래스의 disp()


'Java > Class&Object' 카테고리의 다른 글

클래스 기본3  (0) 2012.04.10
클래스 기본2  (0) 2012.04.10
클래스 기본1  (0) 2012.04.10
클래스로 자동차 만들기  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
public class BasicClass3 {//클래스 기본3
	// 멤버필드
	int a; // 멤버 변수
	boolean flag; // 멤버 변수
	final int NUM = 10; // 상수

	// 생성자
	// 객체 생성시 단 한 번 호출,멤버 변수를 초기화 하는 역할
	// 일반적으로 생략가능(컴파일러에서 default 생성자 자동 삽입됨)
	public BasicClass3() {

	}

	// 멤버 메소드
	// 1. 반환하는 값이 있는 경우
	public int sum(int a, int b) {
		return a + b;
	}

	// 2.반환하는 값이 없는 경우
	public void make() {
		System.out.println("객체 생성 후 메소드 호출");
		// 일반적으로 return 생략
	}

	// 메인 메소드
	public static void main(String[] args) {
		// 객체 선언 및 객체 생성(하지 않으면 메모리에 올라가지 않음
		BasicClass3 bc = new BasicClass3();
		System.out.println("참조값 : " + bc);
		// 메모리 주소를 볼 수는 없음 그래서 참조값이라 함
		// 사용할 수 있는 방법 없음 ㅡㅡ;
		System.out.println("a = " + bc.a);
		System.out.println("flag = " + bc.flag);
		bc.a = 100;
		bc.flag = true;
		System.out.println("===================");
		System.out.println("a = " + bc.a);
		System.out.println("flag = " + bc.flag);

		// return이 있기때문에 값을 받아야됨(표현이 반환한다임 그래서 헷갈림)
		// 호출한곳에 줘야한다라고 생각만하고 표현은 반환한다 (return)
		int result = bc.sum(5, 10);
		System.out.println("=================");
		System.out.println("result = " + result);
	}
}

참조값 : BasicClass3@adb1d4

a = 0
flag = false
===================
a = 100
flag = true
=================
result = 15


'Java > Class&Object' 카테고리의 다른 글

내부 클래스  (0) 2012.04.10
클래스 기본2  (0) 2012.04.10
클래스 기본1  (0) 2012.04.10
클래스로 자동차 만들기  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
public class BasicClass2 {
	//public : 접근 지정자(접근 제한자)
	//class : 파일의 종류
	//BasicClass2 : 클래스 명
	
	//멤버 필드
	int var1;
	int var2;
	
	//생성자 (메소드랑 생김새만 비슷)
	//객체 생성시 단 한번 호출, 객체 생성시 멤버 변수 초기화
	//생략가능 , 생략하면 컴파일러가 default 생성 자동 삽입
	public BasicClass2(){
		
	}
	
	//멤버 메소드
	public int sum(int a, int b){
		return a+b;
	}
	public static void main(String[] args){
		BasicClass2 bc = new BasicClass2();
		//생성자 호출
	}

}


'Java > Class&Object' 카테고리의 다른 글

내부 클래스  (0) 2012.04.10
클래스 기본3  (0) 2012.04.10
클래스 기본1  (0) 2012.04.10
클래스로 자동차 만들기  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
public class BasicClass {//클래스의 기본
	//멤버 필드
	int var1;	//멤버 변수
	String var2;
	final int COUNT = 3; //상수
	
	//메인 메소드 (클래스 실행시킬 수 있는 진입점)
	public static void main(String[] args){
		BasicClass bc; //객체 선언
		bc = new BasicClass(); // 객체생성 (주소)
		bc.var1 = 100;	//멤버 변수를 호출해서 데이터 할당
		bc.var2 = "겨울";
		//bc.COUNT = 600; 상수는 변경불가능
		
		System.out.println("var1 : "+ bc.var1);
		System.out.println("var2 : "+ bc.var2);
		System.out.println("COUNT : "+ bc.COUNT);
	}
}

var1 : 100

var2 : 겨울
COUNT : 3


'Java > Class&Object' 카테고리의 다른 글

클래스 기본3  (0) 2012.04.10
클래스 기본2  (0) 2012.04.10
클래스로 자동차 만들기  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
클래스로 사칙연산2  (0) 2012.04.10
class Car{//클래스로 자동차
	//멤버 변수
	int speed;
	int direction;
	
}
public class CarTest {
	public static void main(String[] args){
		Car c = new Car();
		c.speed = 10;
		c.direction=1;
		System.out.println("speed : "+ c.speed);
		System.out.println("direction : "+ c.direction);
		System.out.println("Car 객체 : "+c);
		System.out.println("===================");
		
		Car c2 = new Car();
		System.out.println("speed : "+ c2.speed);
		System.out.println("direction : "+ c2.direction);
		System.out.println("Car 객체 : "+c2);
	}
}

speed : 10

direction : 1
Car 객체 : Car@110003
===================
speed : 0
direction : 0
Car 객체 : Car@17e4ca


'Java > Class&Object' 카테고리의 다른 글

클래스 기본2  (0) 2012.04.10
클래스 기본1  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
클래스로 사칙연산2  (0) 2012.04.10
클래스로 사칙 연산하기  (0) 2012.04.10
class Gugudan{//클래스 void로 구구단 만들기
	//메소드 호출시 단을 전달해서 전달된 단 만 출력하는
	//구구단 만들기
	public void makeGugudan(int dan){
		for(int i=1; i<=9; i++){
			System.out.println(dan+"단 : "+dan+" X "+i+" = "+(dan*i));
		}
	}
}
public class GugudanTest {
	public static void main(String[] args){
		//객체생성
		//makeGugudan 호출
		Gugudan gu = new Gugudan();
		gu.makeGugudan(8); //원하는 단을 입력해도 된다
	}
}

8단 : 8 X 1 = 8

8단 : 8 X 2 = 16
8단 : 8 X 3 = 24
8단 : 8 X 4 = 32
8단 : 8 X 5 = 40
8단 : 8 X 6 = 48
8단 : 8 X 7 = 56
8단 : 8 X 8 = 64
8단 : 8 X 9 = 72


'Java > Class&Object' 카테고리의 다른 글

클래스 기본1  (0) 2012.04.10
클래스로 자동차 만들기  (0) 2012.04.10
클래스로 사칙연산2  (0) 2012.04.10
클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
class MyMath2{//사칙연산2
	
	public void add(long a, long b){
		long result = a+b;
		System.out.println("add : "+result);
	}
	public void minus(long a, long b){
		long result = a-b;
		System.out.println("minus : "+result);
	}
	public void multi(long a, long b){
		long result = a*b;
		System.out.println("multi : "+result);
	}
	public void divide(double a, double b){
		double result = a/b;
		System.out.println("divide : "+result);
	}
	//멤버 메소드
	//덧셈
	//뺄셈
	//나눗셈
}

public class MyMathTest2 {
	public static void main(String[] args){
		MyMath2 my = new MyMath2();
		my.add(5L,6L);
		my.minus(7L, 2L);
		my.multi(2L, 3L);
		my.divide(6L, 3L);
	}
	
	//출력 결과
	/*add : 11
	minus : 5
	multi : 6
	divide : 2.0 */

}

add : 11

minus : 5
multi : 6
divide : 2.0


'Java > Class&Object' 카테고리의 다른 글

클래스로 자동차 만들기  (0) 2012.04.10
클래스로 구구단 만들기  (0) 2012.04.10
클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
class MyMath{//클래스로 사칙 연산하기
	
	//덧셈
	public long add(long a, long b){
		return a + b;
	}
	//뺄셈
	public long minus(long a, long b){
		return a - b;
	}
	//곱셈
	public long multi(long a, long b){
		return a * b;
	}
	//나눗셈
	public double divide(double a , double b){
		return a / b;
	}
}

public class MyMathTest {
	public static void main(String[] args){
		MyMath my = new MyMath();
		long result = my.add(5L,6L);
		System.out.println("add : "+ result);
		long result2 = my.minus(7L, 2L);
		System.out.println("minus : "+ result2);
		long result3 = my.multi(2L, 3L);
		System.out.println("multi : "+ result3);
		double result4 = my.divide(6L, 3L);//long -> double
		System.out.println("divide : "+ result4);
	}
}

add : 11

minus : 5
multi : 6
divide : 2.0


'Java > Class&Object' 카테고리의 다른 글

클래스로 구구단 만들기  (0) 2012.04.10
클래스로 사칙연산2  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
클래스로 TV만들기 2  (0) 2012.04.10
public class BasicClass {//클래스의 기본
	//멤버 필드
	int var1;	//멤버 변수
	String var2;
	final int COUNT = 3; //상수
	
	//메인 메소드 (클래스 실행시킬 수 있는 진입점)
	public static void main(String[] args){
		BasicClass bc; //객체 선언
		bc = new BasicClass(); // 객체생성 (주소)
		bc.var1 = 100;	//멤버 변수를 호출해서 데이터 할당
		bc.var2 = "겨울";
		//bc.COUNT = 600; 상수는 변경불가능
		
		System.out.println("var1 : "+ bc.var1);
		System.out.println("var2 : "+ bc.var2);
		System.out.println("COUNT : "+ bc.COUNT);
	}
}

var1 : 100

var2 : 겨울
COUNT : 3


'Java > Class&Object' 카테고리의 다른 글

클래스로 사칙연산2  (0) 2012.04.10
클래스로 사칙 연산하기  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
클래스로 TV만들기 2  (0) 2012.04.10
클래스로 TV만들기  (0) 2012.04.10
public class MethodEx {
	//멤버 메소드
	public int sum(int a, int b){ 
		//지역변수 : 메소드영역 또는 제어문 영역에서만 호출가능하도록
		//          선언한 변수
		//public :접근제한자(지정자)
		//int : 반환 타입
		//sum : 메소드 명
		//(int a, int b) : 인자
		int result = a + b ; //연산
		return result; //반환값
	}
	//멤버 메소드를 메모리에 올리기위해 객체선언

	public void print(int a, int b){
		//void : 반환하는 값이 없을 경우 void로 명시
		int result = a+ b;
		System.out.println("result2 : " + result);
		return;  //일반적으로 생략
	}
	//메인 메소드
	public static void main(String[] args){
		//sum(6, 8); 메모리에 올라가 있지 않기 때문에 호출 불가
		//객체를 생성해서 호출해야함

		MethodEx m = new MethodEx();
		int result =m.sum(6, 8);
		System.out.println("result : " + result);
		m.print(5, 3);

	}
}

출력값

result : 14

result2 : 8


'Java > Class&Object' 카테고리의 다른 글

클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 TV만들기 2  (0) 2012.04.10
클래스로 TV만들기  (0) 2012.04.10
Class 란?  (0) 2012.04.10
class Tv2{
	//멤버 변수
	String color;
	boolean power;
	int channel;

	//멤버 메소드 (동작수행)
	public void power(){   //TV(on/off)
		power =!power;
	}
	public void channelUp(){ //채널 Up
		++channel;
	}
	public void channelDown(){ //채널Down
		--channel;
	}
}

public class TvTest2 {
	public static void main(String[] args){
		//객체선언 , 생성
		Tv2 t= new Tv2();
		t.power();   
		System.out.println("파워: " + t.power);
		t.channel = 7;   //채널지정
		System.out.println("채널: " + t.channel);
		//채널변경
		t.channelUp();
		System.out.println("채널: " + t.channel);
		t.channelDown();
		System.out.println("채널: " + t.channel);
		t.power();   
		System.out.println("파워: " + t.power);
	}
}

출력값

파워: true

채널: 7

채널: 8

채널: 7

파워: false


'Java > Class&Object' 카테고리의 다른 글

클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
클래스로 TV만들기  (0) 2012.04.10
Class 란?  (0) 2012.04.10
class Tv{
	//멤버필드
	String color; //색상 (컬러/흑백)    //기본값 : null
	boolean power;//전원상태 (on/off)  //기본값 : false
	int channel;  //채널                //기본값 : 0
}

public class TvTest {
	public static void main(String[] args){
		//객체 선언, 객체 생성
		Tv t= new Tv();
		//Tv :참조자료형
		//t  :참조변수 (객체의 주소[reference] 저장)
		//new:객체 생성를 생성하도록 명령하는 연산자

		System.out.println(t.color);
		System.out.println(t.power);
		System.out.println(t.channel);

		//멤버변수에 데이터 할당
		t.color = "컬러";
		t.power = true;
		t.channel = 9;

		System.out.println(t.color + "TV 사용");
		System.out.println(t.power+": TV를 보다");
		System.out.println(t.channel+"번 채널 시청");

	}
}

null

false
0
컬러TV 사용
true: TV를 보다
9번 채널 시청


'Java > Class&Object' 카테고리의 다른 글

클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
클래스로 TV만들기 2  (0) 2012.04.10
Class 란?  (0) 2012.04.10
public class Test {
  public static void main(String[] args){}  <-메인!함수 메소드 

}


클래스

 


클래스란? 
한 마디로 건물을 지을 때 제일 먼저 필요로 하는 설계도면과 같다
건물의 위치를 가리키는 주소(reference)가 있게 마련이고 그 주소를 통해 건물로 세금통지서 
또는 각종 배달 서비스 즉, 연락(요청)을 취할 수 있다 

교재 142page 
public : 모든 접근을 허용
protected : 상속관계

default : 아무것도 안쓰는것을  default 라함
private : 현재클래스 내에서만 허용



-------------------------------------------------------------------------------------
class 클래스 이름 {                       //클래스 헤드 (선언부)
    접근_지정자 자료형 변수_이름;    //속성 선언
    접근_지정자 생성자(  )  {           //생성자 정의
        .  .  . .  . 
    }
    접근_지정자 자료형 메서드_이름(  ) {  //메서드정의
        .  .  . .  . 
    }
}    
-------------------------------------------------------------------------------------
class Animal{  String name; int age; }  => Animal 클래스에 String속성의 name과 int속성의 age 변수선언
@클래스는 붕어빵틀 객체는 붕어빵 => 클래스의 정의로 동일한 객체를 만들어냄
Animal a;              레퍼런스 변수 선언
a= new Animal();   인스턴스 생성
인스턴스 접금         a.name,a.age

Basic Class
int var1
String var2
COUNT

 main

객체 -->main()

객체를 생성 = new

Stack  =  자료형 클래스명을 사용 참조변수
 BasicClass = bc
(주소)
heap 
 
 BasisClass
var1 =0
var2 =null
COUNT =3


BasicClass 실행시 -> 멤버필드는 메모리에 안올라감 -> 메인 메모리에 올라감
Stack의 bc. heap 의 값  => bc.var1 으로 불러와 사용




public class BasicClass {
	//멤버필드
	int var1;                  //멤버 변수  초기값 0
	String var2;       //        초기값 null
	final int COUNT = 3;      //상수

	//메인 메소드 (클래스를 실행시킬수있는 진입점
	public static void main (String[]args){
		BasicClass bc;      //객체선언
		bc = new BasicClass(); //객체생성
		bc.var1 = 100;         //멤버변수를 호출해서 데이터 할당
		bc.var2 = "겨울";
		//bc.COUNT = 600;       // 상수는 변경불가능

		System.out.println("var1 : " + bc.var1);
		System.out.println("var2 : " + bc.var2);
		System.out.println("COUNT : " + bc.COUNT);

	}
}
var1 : 100
var2 : 겨울
COUNT : 3


'Java > Class&Object' 카테고리의 다른 글

클래스로 사칙 연산하기  (0) 2012.04.10
클래스의 기본  (0) 2012.04.10
클래스로 살펴보기  (0) 2012.04.10
클래스로 TV만들기 2  (0) 2012.04.10
클래스로 TV만들기  (0) 2012.04.10

+ Recent posts