///////
Search
🧇

클래스와 객체

클래스(Class)와 객체(Object)

객체 지향 언어

캡슐화
상속
추상화
정보은닉

클래스에 대한 이해

클래스 = 붕어빵 틀
객체 = 붕어빵
클래스는 객체를 찍어내느 틀과 같은 역할

클래스란?

필드 = 변수
클래스 = 변수 + 메소드를 정의해 놓은 것
클래스 소스코드 자체가 아닌 소스코드를 컴파일한 ~.class 파일이 붕어빵틀 역할

객체란?

현실에서의 객체 VS 프로그램의 객체(instance, Object)

현실에서의 객체
우리가 만지고 느낄 수 있는 실생활에 구체화 되어있는 것
프로그램의 객체
클레스를 데이터 타입으로 메모리에 생성된 것

클래스 정의 후 객체 생성

Ex) CircleTest.java

// 1. 클래스 정의 class Circle { int radius; // 반지름 -> 인스턴스 변수 String color; // 색상 double calcArea() { return 3.14 * radius * radius; } } public class CircleTest { public static void hello(int age) { // System.out.println(age); } public static double circleArea(int radius) { return Math.PI * radius * radius; } public static void main(String[] args) { hello(25); // 2. 참조 변수 선언 Circle obj; // 3. 객체 생성 obj = new Circle(); // 4. 객체 필드 접근 obj.radius = 100; obj.color = "blue"; // 4. 객체 메소드 접근 double area = obj.calcArea(); // System.out.println("원의 면적 = " + area); double area1 = circleArea(10); System.out.println(area1); } }
Java
복사
CircleTest.java파일의 클래스는 2개 Circle class, CircleTest class
Java에서는 어플리케이션 실행 시 가장 먼저 main()메소드를 실행
main메소드에 대해 이해
참조 변수 선언 시 앞에 작성하는 데이터 타입은 클래스명과 일치하도록 작성하여 객체를 선언

클래스가 객체가 되기까지

객체의 생성과 메모리 할당
객체 생성 문법