2017-03-04
위 설명은 이해를 돕기 위해 도식화 되어있지만 설명이 정확하지 않으며 모순이 있을수 있습니다.
객체지향의 어떤것인지 전혀 이해가 가지 않을 때 간략하게 느낌만 집고 넣어가시길 바랍니다.(__)
빠른 시일내에 수정하도록 하겠습니다.
=======================================================================================
public class Animal { String name; public void setName(String name) { this.name = name; } public static void main(String[] args) { Animal cat = new Animal(); cat.setName("boby"); System.out.println(cat.name); } }
객체지향의 이해
먼저 public class Animal{}
는 Animal이라는 클래스의 껍데기를 선언한다.
String name;
바로 다음에 문자열 자료형인 name을 클래스부에서 선언하였다.
이는 인스턴스 변수라고 하며, main함수(호출부)에서 선언된 객체들이 각각 가지게될 변수이다.
public static void main(String[] args) { Animal cat = new Animal();
이후 Main함수(호출부) 에서
Animal cat = new Animal();
public void setName(String name) { this.name = name; }
그후 setName이라는 메소드를 선언하였고, 이 메소드는 this.name=name;라는 동작부를 가지고 있다. 또한 매개변수도 가지고 있다.
이것은 객체.setName="안녕" 의 형태로 main함수에서 setName함수룰 호출한다면..
안녕이라는 데이터는 name의 값이 될것인데, 그 값은 this.name으로 인해, setName앞에 선언한 객체의 name값이 된다는걸 의미한다.
(만약 dog라는 객체를 생성하고 가정하고)
public static void main(String[] args) { Animal cat = new Animal(); dog.setName("똥개"); System.out.println(dog.name); } }
의 코드를 실행시킨다면..
setName메소드의 this.name = name 이 동작하여
System.out.println(dog.name);
'프로그래밍 > Java (기초)' 카테고리의 다른 글
overloading (1) | 2016.03.28 |
---|---|
overriding (0) | 2016.03.28 |
인터페이스(interface) (0) | 2016.03.26 |
상속(inheritance) (0) | 2016.03.26 |
초기화와 생성자(Constructor), this, super (0) | 2016.03.26 |