-
java :: OOP-1, Object Oriented Programming(OOP)IT/Java & JSP & FW 2011. 12. 15. 12:30OOP 개념
OOP란?
객체지향 프로그래밍이라는 의미로 Object의 개념을 Program에 적용한 것.
OOP 4대 특징
1. 추상화
어떠한 물체를 대상으로 주가되는 특징을 강조하여 표현하고, 그외 나머지 부분은 과감하게 생략하는 것.
Object ┬속성 (마카 색상 등등)
(마카) │
└기능 (글쓰기 등등)
마카의 추상화(설계도)
(maka.java)
//추상화 예제 public class maka { //속성 - 맴버변수(전역변수, 인스턴스변수) String color; //속성 정의 //생성자 public maka(){ color="검정"; } //기능 - 메스드(맴버 매소드) //static은 뺀다. 이 클래스를 부를 때만 메모리에 상주하게끔 만들어야 하기 때문이다. //매개 변수를 적을 필요가 없는 것은, 클래스 아래에 바로 변수를 만들었기 때문에 모두 사용이 가능하다. public void makaWrite(){ System.out.println(color+"색상의 마카로 글을 씁니다."); } }
마카를 실제로 불러서 사용하는 방법
(makaTest.java)
public class makaTest { public static void main(String[] args) { //maka 클래스를 불러서 새롭게 명세 //m1은 변수(물건)을 만든다. maka m1=new maka(); //m1을 사용하는 방법 m1.color="빨강"; m1.makaWrite(); maka m2=new maka(); m2.color="노랑"; m2.makaWrite(); maka m3=new maka(); m3.color="파랑"; m3.makaWrite(); System.out.println("=========================="); //생성자로 초기화 시켜서 확인시켜 보기. maka m4=new maka(); //maka() 부분이 생성자를 실제로 부르고 있다. m4.makaWrite(); //자바에서 생성자를 만들지 않으면 자동으로 비어있는 생성자를 만들어 주기 때문에 에러가 나지 않는다. //생성자를 만들게 되면 내가 만든 생성자로 초기화를 시킬 수 있다. } }
※ 생성자란?
클래스를 객체로 만들 때 해당 객채의 멤버변수들을 초기화 해주는 역활의 메소드
사용자가 지정하지 않으면 자바에서 자동으로 기본 생성자를 제공해 줌으로 에러가 나지 않는다.
사용자가 생성자를 지정하게 되면 초기값이 사용자의 생성자로 이루어지게 된다.
생성자 형식접근지정자 생성자명(){
초기화 과정;
}
생성자명은 클래스와 똑같이 적어야한다.
생성자 예제
(car.java)
public class car { String color; String name; int t; public car(){ color="흰색"; name="기본카"; t=4; } public void carGo(){ System.out.println(name+"의 색상은 "+color+"이고 타이어 수는 "+t+"입니다."); System.out.println(name+"가 전진하고 있습니다."); } public void carBack(){ System.out.println(name+"의 색상은 "+color+"이고 타이어 수는 "+t+"입니다."); System.out.println(name+"가 후진하고 있습니다."); } public void getInfo(){ System.out.println("차이름:"+name); System.out.println("차색상:"+color); System.out.println("타이어갯수:"+t); } }
실행파일
(carTest.java)
import java.io.*; public class carTest { public static void xLine(){ System.out.println("-----------------------------"); } public static void main(String[] args) throws IOException{ //BufferedReader in= // new BufferedReader(new InputStreamReader(System.in)); car c1=new car(); c1.name="벤츠"; c1.color="검정"; c1.t=4; c1.getInfo(); c1.carBack(); xLine(); car c2=new car(); c2.name="로체"; c2.color="흰색"; c2.t=4; c2.getInfo(); c1.carGo(); xLine(); car c3=new car(); c3.name="아반떼"; c3.color="회색"; c3.t=4; c3.getInfo(); xLine(); car c4=new car(); c4.getInfo(); } }
'IT > Java & JSP & FW' 카테고리의 다른 글
java :: OOP-3, 상속, 다형성, pakage(패키지) (0) 2011.12.19 java :: OOP-2, 추상화, 은닉화, 다형성 (1) 2011.12.16 java :: 2차원 배열 및 메소드 설명 (2) 2011.12.14 java :: 예제 프로그램, 1차원 배열 기초 (0) 2011.12.13 java :: for문, while문, do while문 예제 프로그램 (2) 2011.12.12