티스토리 뷰

개발일기

[JAVA] 객체란 무엇인가

삐삐들의 주인 2023. 1. 26. 22:37

객체는 다른 것과 구별을 할 수 있으며 속성과 동작으로 구성되어 있다.

사람의 이름과 나이는 필드에 입력되며 달린다 뛴다 등의 동작은 메소드에 입력된다.

메소드 호출은 객체가 다른 객체의 기능을 이용하는 것이다.

메소드 호출은 '객체.메소드(...)' 이렇게 .으로 연결하여 접근한다.

객체는 개별적으로 사용할 수 있지만 대부분은 다른 객체와 연결이 되어 있다.

집합관계는 눈에 보이지 않는 부품을 담당하는 객체들과 눈에 보이는 완성품을 담당하는 객체의 관계이다.

사용관계는 객체 간 상호작용을 말한다. 서로 사용하는 관계이다.

상속관계는 상위 객체를 기반으로 하위 객체를 생성하는 것이다. 네이버가 부모고 네이버 블로그가 자식인 것 처럼?

캡슐화란 객체의 필드와 메소드를 하나로 묶은 다음에 외부객체가 구조를 알 지 못하게 숨기는 것을 말한다. 이는 외부영향으로 객체가 손상되는 것을 막기 위해서다. 캡슐화 한 것을 숨길지 노출시킬지를 결정하는 것은 접근 제한자이다. 접근 제한자는 사용범위를 제한한다.

상속은 부모객체의 필드와 메소드를 자식 객체에게 물려주어 자식 객체가 사용할 수 있게 해준다. 부모 객체를 수정하면 아래에 있는 자식들 까지 다 수정된다.

다형성은 같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 것을 말한다. -목적에 맞게 다양하게 변할 수 있는 객체를 말하는 것 같다. -

클래스는 설개도 같은 거다.

클래스 선언은 숫자가 앞에 올 수 없으며 특수문자는 $ - 말고 사용할 수 없다. {}으로 시작과 끝을 알려준다.

클래스는 두개 이상 선언이 가능하지만 파일 이름과 일치한 클래스 앞에만 public이 붙는다.

new는 클래스로부터 객체를 생성시키는 연산자이다.

클래스는 두가지 용도가 있는데 하나는 라이브러리(API) 이고 하나는 실행용이다. 라이브러리는 다른 클래스에서 사용하기 위해 만든 것이며 실행용은 main()을 재공한다.

필드는 객체의 데이터를 저장하는 곳이다. 변수가 아니다. 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 함께 존재한다. 필드 선언은 클래스{ } 안에서 선언이 가능하다. 생성자와 메소드 내부에서는 선언이 불가능하다.필드에 저장할 데이터의 종류는 타입이 결정하는데 타입은 기본 타입(byte int long 등 )과 참조 타입이 올 수 있다. 초기값을 지정해주지 않았으면 객체 생성시 자동으로 기본 초기값으로 설정된다.

클래스 내부에 필드값을 입력하면 필드의 이름으로 읽고 변경하면 되지만 클래스 외부에서 사용할 경우 클래스로부터 객체를 생성한 후 필드를 사용해야 한다. '.'연산자를 사용하여 원하는 필드에 접근할 수 있다.

생성자는 new 연산자로 호출되는 {}블럭이다. 초기화를 하기 위해 만든 것이다.

메소드는 객체의 동작에 해당되는 {}를 말한다. 이들은 메소드 이름을 가지고 있다. 데이터 전달의 수단으로 사용된다.

공지사항
최근에 올라온 글
링크
«   2026/06   »
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