자바

[Java] 클래스와 객체

menuhwang 2022. 9. 22. 17:54

클래스와 객체


  • 절차 지향 언어 (c언어)
  • 객체 지향 언어 (자바)
  • 함수형 언어

 

 

객체 지향 언어 특징


캡슐화

  • 정보은닉 : 필드나 메서드를 외부에서 알지 못하도록, 접근하지 못하도록 제한하여 정보를 은닉할 수 있다. (접근 제한자)
  • 비슷한 역할의 데이터와 기능을 하나의 객체로 묶어 관리하는 것.

 

상속

  • 기존 클래스의 특성들을(필드, 메서드) 다른 새로운 클래스가 물려받는 것.

 

추상화

  • 객체들의 공통적인 특성들을 따로 분리해두는 것.

 

다형성

  • 하나의 객체가 여러 가지 타입을 가질 수 있는 것.
  • 남자가 아빠, 남편, 직원의 특성을 가질 수 있는 것처럼.

 

 

객체 생성 메모리 할당


과정

class Circle {
	int radius;
	String color;
	
	double calcArea() {
		return Math.PI * radius * radius;
	}
}


public class CircleTest {

	public static void main(String[] args) {
		Circle obj;
		obj = new Circle();
		obj.radius = 100;
		obj.color = "blue";
		double area = obj.calcArea();
		
		System.out.println("원의 면적 = " + area);
	}
}

1.  Circle obj 참조 변수 선언

 

2.  obj = new Circle();  객체 생성

 

3.  obj.radius = 100; obj.color = "blue" 필드 값 대입