- OOP의 4가지 핵심 개념
- 캡슐화
- 상속
- 추상화
- 다형성
Q. 클래스가 왜 필요한가?
A. 객체를 생성하기 위해
Q. 객체가 왜 필요한가?
A. 객체를 사용하기 위해
Q. 객체를 사용한다는 것은?
A. 객체가 가진 속성(변수)과 기능(메서드)을 사용하려고
// hello2.java로 소스 파일 이름을 해야함
public class Hello2 {}
class Hello3 {}
// Hello2.java or Hello3.java 둘다 가능
class Hello2 {}
class Hello3 {}
클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수 선언
변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
//예를 들면
Tv t; // Tv클래스 타입의 참조변수 t를 선언 (t를 리모콘으로 비유)
t = new Tv(); // Tv인스턴스를 생성한 후, 생성된 Tv 인스턴스의 주소를 t에 저장
//이를 한번에 표현하면
Tv t = new Tv();
t.channel = 7; // Tv인스턴스의 멤버변수 channel의 값을 7로 한다.
t.channelDown(); // Tv인스턴스의 메서드 channelDown()을 호출한다.
System.out.println("현재 채널은 " + t.channel + " 입니다.");
순서
1. 클래스 작성
2. 객체의 생성
3. 객체의 사용3단계로 사용할 것
생각 해보기
Java 언어를 접하면서 왜? 객체지향에 특화되어있는 지, 고민과 함께 공부를 하고 있음
일단, 기본적으로 객체지향 개념 (규칙)을 어느 정도 암기가 필요하다는 사실도 알게 됨
Python도 그렇고 JAVA도 class를 print했을 때 주소값이 나오는게 이해가 되지않았는데
강의를 듣고 메모리 측면과 함께 생각하니 당연하다고 생각이 들었음
( 접근을 통해 이해가 되서 많이 놀램 )
추후, 남궁성님 유튜브 강의를 공부하고 체화 시킨 후 지속적인 업로드를 할 예정
Reference
남궁성님 유튜브 강의를 보고 작성하였습니다.
https://www.youtube.com/watch?v=p1ZZnM715ao&list=PLW2UjW795-f5JPTsYHGAawAck9cQRw5TD&index=4&ab_channel=남궁성의정석코딩