객체지향 7

[Java] 객체 지향 클래스 - this, this(), super, super()의 차이점

- this : 나 자신을 가리키는 참조변수 - this() : 내 클래스의 기본 생성자 - super: 부모를 가리키는 참조변수 - super() : 부모 클래스의 기본 생성자 - this : 동일한 이름의 변수가 사용될 경우 클래스 영역에서 정의한 변수를 식별하기 위해 사용함 > 클래스 영역에서 정의한 변수와 동일한 이름의 변수가 사용되는 경우에 this.를 붙여 클래스 영역에 정의한 변수를 사용할 수 있음 - this(): 그 클래스의 다른 생성자를 호출하며, 반드시 모든 생성자의 가장 윗부분에 위치해야 함 ​- super : 상속받은 메소드나 변수를 호출할 때 사용한다 > 이미 클래스 내에 동일한 이름의 메소드, 변수가 있어도 super.을 붙여 상속받은 클래스의 메소드, 변수를 사용할 수 있음 ..

Java 2023.03.17

[Java] 객체 지향 클래스 ( static 변수 / java document / final 키워드 / identifier(변수의 명명규칙, 관습적 명명법) / 윈도우 창 만들기)

* Static 변수 - static 변수는 지정하지 않아도 기본값 0이 출력됨 > no가 static 변수이기 때문에 지정하지 않아도 static과 함께 no의 기본값 0 출력됨 System.out.println(Test.no); - static method인 show도 바로 실행 가능 Test.show(); > no2는 일반 변수이기 때문에 지정 안하면 실행 불가능 System.out.println(Test.no2); > 따라서, 인스턴스화 해야 실행 가능 Test t = new test(); static area stack heap no : 0 show() t : #100 #100 no2 show2() * Test > no 변수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..

Java 2023.03.17

[Java] 객체 지향 클래스 ( 객체 지향 언어의 특성 / 추상화(Abstractioin) / 다형성(polymorphism) / 인터페이스(Interface) / static 변수 )

* 객체 지향 언어의 네 가지 특성 1. 캡슐화(encapsulation) : 객체의 내부 구조 및 데이터를 캡슐처럼 감싸 외부에서 직접 볼 수 없게 은닉하여 보호하는 것 2. 상속(inheritance) : 어떤 클래스가 가지고 있는 메서드와 변수를 상속해서 다른 클래스가 갖도록 하는 것 3. 추상화(Abstraction) : 공통된 특징을 묶어 하나의 클래스로 정의해 상위의 개념을 만들어 냄 4. 다형성(polymorphism) : 동일한 조작방법으로 동작시키지만 대상에 따라 다른 실행하게 하는 것 [ 추상화 ] * 추상화(Abstraction) Rabbit, Monkey, Whale -> Mammalia * 구체화 Mammalia -> Rabbit, Monkey, Whale - Mammalia에 토..

Java 2023.03.16

생활코딩 JAVA 객체 지향 프로그래밍 - 생성자와 this / 클래스와 인스턴스의 활용 (+수업을 마치며)

7. 생성자와 this - 생성자 : 어떤 클래스가 복제되었을 때(즉, 인스턴스가 생성되었을 때), 초기에 즉각적으로 바로 어떤 일이 처리되게 하거나, 어떤 값을 주입받도록 하기 위해 사용할 수 있는 유용한 메소드 기능 - FileWriter f1 = new FileWriter("data.txt"); > 위처럼 남의 클래스를 만들 때, FileWriter라는 클래스에 new를 붙여 인스턴스를 만듦 > class를 호출할 때 "data.txt"라는 값은 우리가 수정하고자 하는 파일의 이름 > 파일을 수정하는 행위를 나타내는 FIleWriter라는 클래스는 수정하고자 하는 대상이 꼭! 지정되어야 함 > 파일을 지정하는 행위를 까먹거나 나중에 하게 되면 문제가 생길 수 있기 때문에, 인스턴스를 생성하는 과정에..

Java 2023.01.09

생활코딩 JAVA 객체 지향 프로그래밍 - 인스턴스 / static

5. 인스턴스 - 원형이 'class', 원형인 class를 복제한 것들이 'instance' - new Print(); > Print라는 클래스를 '복제/분신술'한 아바타인 instance가 만들어지는 것 > 이러한 인스턴스가 Print라는 타입이고, delimiter가 -표다. Print p1 = new Print(); p1.delimiter = "----"; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public class MyOPP { public static void main(String[] args) { Print p1 = new Print(); p1.delimiter = "----"; p1.A(); p1.A(); p1.B(..

Java 2023.01.09

생활코딩 JAVA 객체 지향 프로그래밍 - 변수와 메소드 / 클래스

3. 변수와 메소드 * 메소드 지정 System.out.println("----"); System.out.println("A"); System.out.println("A"); 위의 코드를 Refactor > Extract Method > 이름 printA로 지정 * 별표의 구분자를 추가하기 위해서는? 각각의 변수에 매개변수(parameter)을 준다. 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 public class MyOPP { public static void main(String[] args) { delimiter = "----"; printA(); printA(); printB(); printB(); ..

Java 2023.01.08

생활코딩 JAVA 객체 지향 프로그래밍 - (수업 소개+) 남의 클래스 & 남의 인스턴스

1. 수업소개 - 객체 지향 프로그래밍 : JAVA Object Oriented Programming - method = function = subroutine = procedural = 절차 지향 프로그램 = procedural programming > 메소드를 이용해서 작은 부품을 만들고, 이것을 결합하여 더 큰 프로그램을 만들어가는 테크닉 > 대표적으로 C언어에서 이 패러다임을 따르고 있지만, 몇몇 엔지니어들은 메소드 만으로 부족함을 느낌 > 연관된 메소드와 변수들을 결합하여 이름을 붙이고 정리정돈한 것이 '클래스' >> 클래스를 중심으로 프로그램의 구조를 만들어가는 컴퓨터 프로그래밍 방법론이 '객체 지향 프로그래밍' - 이 수업을 통해 코드를 단정하게 정리정돈할 수 있게 되고, 인스턴스를 만들 수..

Java 2023.01.08