교육과정 기록/☕ Java

객체지향개념 정리

춘식이왔엉 2022. 3. 22. 18:26

객체지향 언어

  • 80년 초 소프트웨어의 위기 → 빠른 변화를 못쫓아감
  • 해결책으로 객체지향 언어를 도입 ( 절차적 → 객체지향)
  • 코드의 재사용성이 높고 유지보수가 용이, 중복 코드 제거
  • 객체지향 언어 = (기존)프로그래밍 언어 + 객체지향개념(규칙)

1. 캡슐화

2. 상속

3. 추상화

4. 다형성


클래스와 객체

클래스 - 객체를 정의해 놓은 것/ 객체를 생성하는데 사용

객체 - 실제로 존재하는 것. 사물 또는 개념/ 객체가 가지고 있는 기능과 속성에 따라 다름

ex) 클래스- tv설계도/객체- tv

 

객체 = 속성(변수) + 기능(메서드)

 

  • 클래스가 왜 필요? → 객체를 생성하기 위해
  • 객체가 왜 필요? → 객체를 사용하기 위해
  • 객체를 사용한다는 것은? → 객체가 가진 속성과 기능을 사용

하나의 소스파일에 여러 클래스 작성할 때 주의점

1. 하나의 소스파일에 둘 이상의 public class가 존재하면 안된다.

2. 소스파일의 이름이 public class의 이름과 일치해야 한다.

3. 대소문자를 구문한다.

 

//객체의 생성
클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = 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 + "입니다.");