TIL(Today I Learned)_객체지향언어_24.11.03.Sun

728x90
객체지향 언어 = 프로그래밍 언어 + 객체지향개념(규칙)

 

객체지향언어의 특징
  1. 캡슐화
  2. 상속
  3. 추상화
  4. 다형성
클래스
  • 클래스의 정의 : 클래스란 객체를 정의해 놓은 것
  • 클래스의 용도 : 클래스는 객체를 생성하는 데 사용
객체 = 속성(변수) + 기능(메서드)
  • 객체의 정의  : 실제로 존재하는 것. 사물 또는 개념
  • 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
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