728x90
객체지향 언어 = 프로그래밍 언어 + 객체지향개념(규칙)
객체지향언어의 특징
- 캡슐화
- 상속
- 추상화
- 다형성
클래스
- 클래스의 정의 : 클래스란 객체를 정의해 놓은 것
- 클래스의 용도 : 클래스는 객체를 생성하는 데 사용
객체 = 속성(변수) + 기능(메서드)
- 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념
- 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
ex)
클래스 | 객체 |
제품 설계도 | 제품 |
TV 설계도 | TV |
붕어빵기계 | 붕어 |
객체와 인스턴스
- 객체 : 모든 인스턴스를 대표하는 일반적 용어
- 인스턴스 : 특정 클래스로부터 생성된 객체
- 클래스(설계도) → 인스턴스화(제품생성) → 인스턴스(객체, 제품)
클래스 작성 - 올바른 작성 예
Hello2.java
public class Hello2 {}
class Hello3 {}
|
public class가 있는 경우, 소스파일의 이름은 반드시 public class의 이름과 일치해야한다. |
Hello2.java
class Hello2 {}
class Hello3 {}
|
public class가 하나도 없는 경우, 소스파일의 이름은 'Hello2.java', 'Hello3.java' 둘 다 가능하다. |
클래스 작성 - 잘못된 작성 예
Hello2.java
public class Hello2 {}
public class Hello3 {}
|
하나의 소스파일에 둘 이상의 public class가 존재하면 안된다. 각 클래스를 별도의 소스파일에 나눠서 저장하던가 아니면 둘 중의 한 클레스에 public을 붙이지 않아야 한다. |
Hello3.java
public class Hello2 {}
class Hello3 {}
|
소스파일의 이름이 public class의 이름과 일치하지 않는다. 소스파일의 이름을 'Hello2.java'로 변경해야 맞다. |
hello2.java
public class Hello2 {}
class Hello3 {}
|
소스파일의 이름과 public class의 이름이 일치하지 않는다. 대소문자를 구분하므로 대문자까지 일치해야한다. 그래서, 소스파일의 이름에서 'h'를 'H'로 바꿔야 한다. |
객체의 생성
클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); //클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
Tv t; //Tv클래스 타입의 참조변수 t를 선언
t = new Tv(); //Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장
객체의 사용
t.channel = 7; //Tv 인스턴스의 멤버변수 channel의 값을 7로 한다.
t.channelDown(); //Tv 인스턴스 메서드 channelDown()을 호출한다.
System.out.println("현재 채널은 " + t.channel + " 입니다.");
728x90
반응형
LIST
'Sparta > java' 카테고리의 다른 글
java static 좀 더 깊게 알아보기 (0) | 2024.11.12 |
---|---|
java 코드 리팩토링 (0) | 2024.11.10 |
인수(Argument)와 매개변수(Parameter) (0) | 2024.11.07 |
메서드(Method) vs 함수(Function)의 차이 (0) | 2024.11.07 |
TIL(Today I Learned)_java_2차원 배열_24.11.07.Thr (0) | 2024.11.07 |