• Home
  • About
    • ming photo

      ming

      studying

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Archive
    • All Posts
    • All Tags
    • All categories
  • categories
    • HTML+CSS+JavaScript
    • JAVA
    • Algorithm
    • DB
    • JSP
    • 정보처리기사
    • Spring
    • Thymeleaf
    • 기술면접
  • Projects

JAVA-자바의정석Ch6(객체지향 프로그래밍 1)-9~10,11~12

18 Feb 2021

🔶 자바의정석Ch6-9~10,11~12

✔ 자바의정석Ch6-9 클래스의 정의(1)

❕ 클래스

1) 설계도
2) 데이터 + 함수
3) 사용자정의 타입
2) 클래스 == 데이터 + 함수
- 변수 : 하나의 데이터를 저장할 수 있는 공간
- 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 잇는 공간
- 구조체 : 서로 관련된 여러 데이터(종류 관계X)를 하나로 저장할 수 있는 공간
- 클래스 : 데이터와 함수의 결합 (구조체 + 함수)

✔ 자바의정석Ch6-10 클래스의 정의(2)

  • 사용자 정의 타입 : 원하는 타입을 직접 만들 수 있다
  • ex)
      // 비객체지향 코드
      int hour;
      int minute;
      int second;
    
          ↓ // 3개의 변수를 묶어 Time class를 정의
    
      // 객체지향 코드
      class Time{
          int hour;
          int minute;
          int second;t 
      }
    
          ↓ // 생성한 클래스를 객체를 만들어서 사용
    
      Time t = new Time(); 
    

✔ 자바의정석Ch6-11 선언위치에 따른 변수의 종류

❕ 변수는 선언 위치에 따라 종류가 3가지로 나뉜다

- 클래스 영역
    1) 인스턴스 변수 : 객체를 생성해야 사용가능하다
    2) 클래스 변수(static변수,공유변수) : 객체생성 X -> 아무때나 사용가능하다
- 메서드 영역
    3) 지역변수 ![ch6-11](https://user-images.githubusercontent.com/65608960/108309290-a2124f80-71f4-11eb-9b7f-02ce9c399f49.JPG)

✔ 자바의정석Ch6-12 클래스 변수와 인스턴스 변수

- 인스턴스 변수 : 개별 속성
- 클래스 변수 : 공통 속성 ![ch6-12](https://user-images.githubusercontent.com/65608960/108309288-a2124f80-71f4-11eb-9593-a62a477029bb.JPG)

ch6-12_2

✔ 자바의정석Ch6-12 클래스 변수와 인스턴스 변수 예제

  • 코드
      package Java_Nam;
    
      public class iv_cv {
    
          public static void main(String[] args) {
              System.out.println("Card.width = " + Card.width); // 클래스 변수 : 객체 생성 없이 사용가능하다
              System.out.println("Card.height = " + Card.height);
                
              Card c1 = new Card(); // 객체 생성
              c1.kind = "Heart";
              c1.number = 7;
                
              Card c2 = new Card();// 객체 생성
              c2.kind = "Spade";
              c2.number = 4;
                
              System.out.println("c1은 " + c1.kind + ", " + c1.number);
              System.out.println("c2은 " + c2.kind + ", " + c2.number);
              System.out.println("c1의 width와 height 를 각각 50,80으로 변경합니다" );
                
              Card.width = 50; // 클래스 변수를 변경
              Card.height = 80;
    
              System.out.println("c1은 " + c1.kind + ", " + c1.number + "이며, 크기는 (" +c1.width + ", " + c1.height + ")");
              System.out.println("c2은 " + c2.kind + ", " + c2.number +"이며, 크기는 (" +c2.width + ", " + c2.height + ")");
                
          }
    
      }
          class Card{
              String kind;
                
              int number;
              static int width = 100;
              static int height = 250;
          }
    


Share Tweet +1