인스턴스 필드(instance filed)


*메소드 외부에 선언된 변수

*기본값이 설정된 상태로 만들어짐

*인스턴스마다 각각 존재함

*상태변수

*객체가 만들어질 때 만들어지고 객체가 소멸될 때까지 존재함






public class NameCatTest {

public static void main(String[] args) {

NameCat c1,c2;

c1 = new NameCat();

c2 = new NameCat();

c1.setName("왕눈이");

c2.setNmae("방울이");

System.out.println(c1.getName);

System.out.println(c2.getName);

}

}


(NameCatTest 클래스 코드가 메모리에 올라감) -> (NameCat 클래스 코드가 메모리에 올라감) -> 

(NameCat 인스턴스를 위한 메모리가 할당됨) -> (NameCat 인스턴스를 위한 메로리가 할당됨) ->(Cat 인스턴스 상태변수들에 "왕눈이"와 "방울이"가 저장됨)





public class CharTest {

public static void main(String[] args) {

char c = 'A';

int i = 'A';

// System.out.println(c);

// System.out.println(i);

char letter = (char)(1 + 'A');

int k = 1 + 'A';

System.out.println(letter);

System.out.println(k);

}

}


B, 66






Rectangle r = new Rectangle(5, 10, 20, 30);

if(x>=0)

{

 double r = Math.sqrt(x);   변수가 겹치기에 틀림

}

-----------------------------------------

if(x>=0)

{

     double r = Math.qurt(x);

}

else

{

 Rectangle r = new Rectangle(5, 10, 20, 30);

}






Scanner in = new Scanner(System.in)

boolean done = false;

while(done)

{

 System.out.print("eversdkjfakljdfs");

 String input = in.next();

if(input.equalslgnoreCase("Q))               q가 입력될 때까지 키보드 입력을 화면에 출력하는 일을 반복하는 코드

  done = ture;

else

 {

 System.out.printls(input);

 }

}





package mid_paper;


public class BankAccount {

private double balance;

private int acNumber;

private static int numberOfAccounts = 1000;

public BankAccount(double initialBalance){

balance = initialBalance;

acNumber = numberOfAccounts++;

}

public String toString(){

return "BankAccount[accoutNumber="+acNumber + ", balance="+ balance +"]";

}

public static void main(String[] args) {

BankAccount b1= new BankAccount(100.0);

BankAccount b2= new BankAccount(200.0);

BankAccount b3= new BankAccount(200.0);

System.out.println(b1);

System.out.println(b2);

System.out.println(b3);

}

}


BankAccount[accoutNumber=1000, balance=100.0]

BankAccount[accoutNumber=1001, balance=200.0]

BankAccount[accoutNumber=1002, balance=200.0]





public class Adder{

public Static int add (int a, int b)

{

return a+ b;

}

public static void main(String[] args){

System.out.println(add(1,2));

}

}






생성자란


* 모든 생성자의 이름은 클래스의 이름과 동일하다.

* 생성자는 객체를 생성하기 위한 것이다.

* 생성자가 없는 클래스는 컴파일러가 기본 생성자를 추가한다.

* 생성자는 오버로딩 할 수 없다.


오버로딩 조건


* 메서드의 이름이 같아야 한다.

* 매개변수의 개수나 타입이 달라야 한다.

* 매개변수의 이름이 달라야 한다.


오버라이딩 조건


* 조상의 메서드와 이름이 같아야 한다.

* 매개변수의 수와 타입, 리턴타입이 모두 갑아야 한다.

* 조상의 메서드보다 더 많은 수의 예외를 선언할 수 있다.


초기화..


* String 멤버변수는 null로 자동 초기화한다.

* 지역변수는 반드시 초기화해야 한다.

* 생성자보다 초기화 블럭이 먼저 수행된다.

* 인스턴스변수보다 클래스변수가 먼저 초기화도니다.


지역변수


* 지역변수가 선언도니 메서드가 종료되면 지역변수도 함께 소멸된다.

* 메서드의 매개변수로 선언도니 변수도 지역변수이다.


접근 제어자


* public은 접근제한이 전혀 없는 접근 제어자이다.

* (default)가 붙으면, 같은 패키지 내에서만 접근이 가능하다.

* protected가 붙으면, 같은 패키지 내에서 또는 다른 패키지의 자손 클래스에서 접근이 가능하다.



인터페이스


* 표준화를 가능하게 해준다.

* 서로 관계없는 클래스들에게 관계를 맺어줄 수 있다.

* 다중상속을 가능하게 해준다.



자바의 상속


* 자바에서는 클래스의 다중 상속을 지원하지 않는다.

* 자바에서는 상속의 횟 수에 제한이 없다.

* 자바에서 상속을 표현하는 키워드는 extends이다.






' IOT 기반 응용 SW과정 > Review' 카테고리의 다른 글

CSS 반응형 웹 디자인  (0) 2016.06.21
MyBatis_Spring <student>  (0) 2016.06.09
套装  (0) 2016.04.04
约分  (0) 2016.03.30
确认问题  (1) 2016.03.25

+ Recent posts