인스턴스 필드(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 |