티스토리 뷰

Java

[Java] Class(1)

Dongi 2022. 8. 7. 16:53

 

 

 

 

 

안녕하세요! 오늘은 자바의 클래스에 대해 알아봅시다!

 

 

 

 

Class

 

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

소프트웨어를 개발할 때 부품에 해당하는 객체들을 먼저 만들고 이들을 조립해서 완성된 프로그램을 만들어 나가는 기법을 객체 지향 프로그램이라고 합니다.

 

 


 

객체(Object)

객체는 자기 자신의 속성을 가지고 다른 것들과 구별이 되는 것들을 이야기합니다. 자바에서 객체는 필드(정보, 속성, field)와 메소드(행동, 실행, method)로 구성되어 있습니다. 

 

 

 


 

캡슐화(Encapsulation)

기계를 뜯어보는 것을 좋아하시는 분들은 기계 안이 얼마나 복잡하게 이루어져 있는지 잘 알고 계실 겁니다. 기계 속은 전문가가 아니라면 어떤 기능을 하는지 정확히 파악하기가 상당히 어려운데요, 이런 기능이 자바에도 있습니다. 캡슐화(Encapsulation)는 객체의 필드(field)와 메소드(method)를 하나로 묶고 실제 실행 내용을 감추어 줍니다. 사용자 관점에서는 사용만 하면 되지 속의 복잡한 내용은 전혀 알 필요가 없기 때문이죠.

 

 


클래스(Class)

필드(field)와 메소드(method)를 담고 있는 것이 클래스(class)이고 클래스를 통해 객체를 만들어냅니다.

클래스는 아래와 같이 생겼습니다.

class 클래스명 {

}

public class 클래스명 { // 파일을 만들 때 파일 이름과 일치하는 클래스만 접근 제한자(public)를 붙일 수 있다.

}

클래스명을 지을 때의 규칙

  • 하나 이상의 문자가 와야 함
  • 첫 글자는 대문자(O), 숫자(X)
  • 한글은 가능은 하지만 안 쓴다.
  • 자바 키워드와 겹치지 않아야 한다.
  • $, _ 이외의 특수문자는 사용하지 않는다.

 

 


 

클래스 사용법

class Comicbooks {
	String name = "신과 함께";
}

public class Books {
	public static void main(String[] args) {
    	// cb 변수가 Comicbooks 객체를 참조
        Comicbooks cb = new Comicbooks();
        
        Comicbooks cb2 = new Comicbooks();
        
        System.out.println(cb.name); 
        
        System.out.println(cb2.name + " 내용은 같지만 다른 객체다.");
    }
}

/* 출력값 : 
신과 함께
신과 함께 내용은 같지만 다른 객체다.
*/
  • Comicbooks라는 새로운 클래스를 만들고 그 안에 멤버 변수인 String형 name을 만들고 그 값을 "신과 함께"로 선언합니다.
  • main 메소드에서 Comicbooks 객체를 참조해옵니다. (인스턴스화)
  • cb와 cb2로 각각 객체를 참조했는데 이때 참조 한 class는 Comicbooks로 같지만 다른 변수로 참조를 했기 때문에 메모리에 각각 쓰인 객체는 다릅니다.

 

 


 

본 내용은 강남 이젠아카데미컴퓨터학원에서 배운 내용을 복습하는 과정입니다.
링크 : https://gn.ezenac.co.kr/
 

강남 이젠아카데미컴퓨터학원

강남역, 컴퓨터학원, 웹디자인학원, 편집디자인학원, 카티아학원, 캐드학원, 전산회계학원, 전산세무학원, 직장인, 실업자, 국비지원, 무료교육, 취업성공패키지, 내일배움카드, 강남컴퓨터학원

gn.ezenac.co.kr

 

'이것이 자바다'라는 책을 참고 하였습니다. 신용권 저, 한빛미디어 출판
유투브 링크 : https://www.youtube.com/watch?v=Sos11X7wy1M

 

'Java' 카테고리의 다른 글

[Java] 구구단 출력  (0) 2022.08.14
[Java] Class(2)  (0) 2022.08.07
[Java] 메소드(Method)  (0) 2022.08.06
[Java] 난수(Random Number)  (0) 2022.08.02
[Java] 배열(Array)_2  (0) 2022.08.01
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함