☭DEVELOPER/#2 웹개발(자바기반 풀스택)

[BACKEND]JAVA_ECLIPSE12 클래스

조반짝 2023. 8. 23. 12:09
728x90
반응형

객체 지향 프로그래밍 OOP : Object-Oriented Programming

객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법

객체, 속성, 동작을 조립해서 사용한다.

 

● 객체: ex) person 객체 person.java , person.class

● 속성(field) : 정해져있지 않음, 속성안에 속성값을 넣을 수 있다. ex) name 속성

● 동작 (method) : ex) name 속성.run()

 

-물리적인 객체

ex) 자동차(객체)     Car 객체 - Car.java , Car.class

       모델명(명사)    ( Car 객체 ) - modelName 속성 - Sonata 속성값 , Avante 속성값

       달린다(동사)    ( Car 객체 ) - run() 메서드 , modelName 속성.run()메서드 

 

-논리적인 객체

게시판                 Board 객체

                            Board.java

                            Board.class

 

이름(명사)            BoardName 속성

자유게시판            freeBoard 속성값

커뮤니티게시판     communityBoard 속성값

 

글작성하다(동사)    write() 메서드

boardName속성.write() 메서드

자유게시판 글작성하다.

 

 

객체 모델링  Object modeling :  현실 세계의 객체를 소프트웨어 객체로 설계하는 것

 

 

● 인스턴스 : 클래스로부터 만들어진 객체, 실제 형식으로 구체화된 결과물

 

ex)

(형태 : 설계도 : 클래스)   → 인스턴스 (클래스구체화된 결과물)

person 객체

 

name 속성             →               name: 김희선    

age 속성                →               age: 30

height 속성            →               height : 165     

weight 속성            →               weight: 45

클래스 선언 :  클래스는 첫글자 꼭 대문자로 쓰기, 한글로 클래스이름을 만드는 경우는 없다.

 


클래스 선언 

 

1. student 클래스 선언

 

get : main 변수에 값을 가져감

set: main 변수에 값을 셋팅함

 

2. studentexaple 실행함수(main) 생성

main 변수에서 클래스로만들어놓은 student를 인스턴스 했다.

.Student 클래스

package chapter06.sec01.exam01;

// 학생(Student) 객체를 생성하기 위하여, Student 클래스를 선언합니다.
// main 함수를 안 넣는다
public class Student {

	String name; // 이름속성
	int age;	 // 나이 속성
	double height;  // 키 속성
	double weight;  // 몸무게 속성
	public String getName() {  //getName() 메서드 : 이름을 조회한다.
		return name;
	}
	public void setName(String name) { //setName() 메서드 : 이름을 설정한다.
		this.name = name;
	}
	public int getAge() { //getAge() 메서드 : 나이를 조회한다.
		return age;
	}
	public void setAge(int age) {  //setAge() 메서드 : 나이를 설정한다.
		this.age = age;
	}
	public double getHeight() { // getHeight() 메서드 : 키를 조회한다.
		return height;
	}
	public void setHeight(double height) { // setHeight() 메서드 : 키를 설정한다.
		this.height = height;
	}
	public double getWeight() {  // getWeight() 메서드 : 몸무게를 조회한다.
		return weight;
	}
	public void setWeight(double weight) {  // setWeight() 메서드 : 몸무게를 설정한다.
		this.weight = weight;
	}
}

StudentExample 실행클래스 

package chapter06.sec01.exam01;

// 앞서 선언한 Student 클래스를 활용하는 "실행클래스" 객체 생성을 합니다.
// main 함수는 실행함수이다. 
public class StudentExample {

	public static void main(String[] args) {
		
		// Student 객체 활용 jangnara 인스턴트 생성
		Student jangnara = new Student();
		System.out.println("jangnara 변수가 Student 객체를  참조합니다.");
	
	
	// set - method(설정한다) / set+___ - field(속성값) 	
	jangnara.setName("장나라");
	jangnara.setAge(31);
	jangnara.setHeight(163);
	jangnara.setWeight(63);
	
	System.out.println(jangnara.getName() + "님의 나이는"+ jangnara.getAge() +"세이고, 키는" + jangnara.getWeight() + "kg입니다.");
	
	// Student 객체 활용 kimheesun 인스턴스 생성
	Student kimheesun = new Student();
	System.out.println("s2 변수가 또 다른 Student 객체를 참조합니다.");
	kimheesun.setName("김희선");
	kimheesun.setAge(40);
	kimheesun.setHeight(158);
	kimheesun.setWeight(50);
	
	System.out.println(kimheesun.getName() + "님의 나이는" + kimheesun.getAge() + "세이고, 키는" + kimheesun.getHeight() + "cm입니다. 그리고, 몸무게는" + kimheesun.getWeight() + "kg입니다.");
	}
}

 


클래스의 구성 멤버

구성멤버는 생략되거나 복수의 개수로 작성될 수 있다.

 

필드(속성): 객체와 함께 존재

생성자: 객체 생성시 초기화를 담당, 객체를 사용할 준비, 제일 먼저 실행되는 메서드, 인스턴스 변수를 초기화하기 때문에 클래스를 선언할 때 바로 실행됨, 생략이 되어있지만 기본적으로 존재한다. ctrl + spacebar를 하면 나타나게됨

메소드(동작): 동작에 해당하는 중괄호 블록, 일괄적으로 실행 

 

 

728x90
반응형