계좌 개설은행은 "하나은행", 계좌주 이름은 "Adams", 현재 잔고는 1000, 이 계좌는 입금과 출금 기능을 지원한다.
class Account{
String bank="하나은행";
String owner="Adams";
int balance=1000;
public void withdrawal(){
System.out.println("출금");
}
public void deposit(){
System.out.println("입금");
}
}
class Duck{
int age=5;
String name="꽥꽥이";
}
class UseDuck{
public static void main(String[] args){
Duck d=new Duck();
System.out.println(d.name);
}
}
속성: 객체가 갖는 상태. 클래스 내 변수로 정의
메서드: 객체가 수행할 수 있는 동작 / 객체의 상태를 바꿀 수 있는 기능을 정의해놓은 함수
<참고>
public은 접근 제어자(Access Modifier) 중 하나로, 어디서든 호출할 수 있음을 의미
void는 반환값이 없음을 의미
클래스는 틀일 뿐이며, 클래스 내부의 인스턴스 변수는 각각의 객체(instance)에 종속됨
따라서 new 키워드로 인스턴스를 만들어야 메모리 상에 그 변수들이 실제로 할당되고 사용 가능
그동안 했던 것이 절차지향 프로그래밍이었고, 이제부터 본격적으로 객체지향 프로그래밍으로 들어간다는 것을 알았다. '객체지향' 말로만 들었지 실제로 개념을 익히고 적용해보는 것은 처음이라 낯설어서 겁이 나기도 했었다. 하지만 인간은 사실 객체지향적 사고에 굉장히 익숙하다는 강사님의 이야기를 듣고 쫄지않기로 했다! 객체지향 언어가 더 편하니까 지금까지 널리 쓰이는 게 아니겠어! 겁먹지말고 개념 잘 다져보자!