본문 바로가기
Java

[Java] 객체지향_예제1. 추상화, 캡슐화를 통해 정보출력하기

by 나는 개발자 2021. 1. 10.
TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다.

 

 

1. 클래스 생성하기

추상화 + 캡슐화를 구상해놓는 클래스와 실행용 클래스를 만들어줍니다.

 

 

 

2. 추상화 

"강아지 이름/ 품종/ 털색깔/ 나이 를 출력해봐야겠다~"는 구상을 한 뒤

 

정보+setter메소드(호출값을 전달받을 메소드) + getter메소드(각 필드값을 반환시켜주는 메소드) 

 

접근제한자 변수로사용할이름 : 자료형

접근제한자 set (매개변수) : 반환형

접근제한자 get () : 반환형

 

- name : String 

- breed : String

- color : String 

- age : int

 

+ setOOO(매개변수) : void

+ getOOO( ) : 각 자료형

 

 

 

 

3. 구상한 필드부를 작성해줍니다.

 

public class Dog {

 

<정보>

     private String name;

     private String breed;

     private String color;

     private int age

 

<setter메소드>

     public void setName (String name) {

         this.name = name ;

     }

 

     public void setBreed (String breed) {

         this.breed = breed ;

     }

 

     public void setColor (String color) {

         this.color = color ;

     }

 

     public void setAge (int age) {

         this.age = age ;

     }

 

<getter메소드>

     public String getName( ) {

         return name ;

     }

 

     public String getBreed( ) {

         return breed ;

     }

 

     public String getColor( ) {

         return color ;

     }

 

     public int getAge( ) {

         return age ;

     }

 

 

 

4. 실행용 클래스에서 객체 생성 후 정보를 입력해줍니다. 

 

public static void main(String[ ] args) {

     

     Dog d1 = new Dog( ) ;

 

     d1.setName("망고") ;

     d1.setBreed("포메라니안") ;

     d1.setColor("크림세이블") ;

     d1.setAge(3) ;

 

 

     Dog d2 = new Dog( ) ;

 

     d2.setName("망치") ;

     d2.setBreed("코카스파니엘") ;

     d2.setColor("브라운") ;

     d2.setAge(11) ;

 

 

5-1. 출력하기 

     System.out.println(d1.getName + d2.getName) ;

 

5-2. 하나하나 실행용 클래스에서 출력할 수 있지만, 구상용 클래스에서 return 메소드를 하나 더 만들어서 출력해줄 수 있다.

 

public String information( ) {

     return "이름 : " + name + "\n품종 : " + breed + "\n털색깔 : " + color + "\n나이 : " + age ;

}

 

를 한번 등록해놓으면 간편하게 실행용 메소드에서 출력이 가능하다.

 

     System.out.println(d1.information( ));

     System.out.println(d2.information( ));

 

 

 

6. 실행하기

 

짠!

 

 

 

 

 

 

 

 

 

댓글