Notice
Recent Posts
Recent Comments
Link
«   2026/09   »
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 30
Archives
Today
Total
관리 메뉴

helloworld

JAVA 기초 다지기 2 본문

자바기초

JAVA 기초 다지기 2

hellojava 2023. 7. 8. 18:27

-Wrapper Class

     - 기본자료형(Primitive type)의 데이터들에 대한 다양한 method를 제공하는 클래스 ex) 10진수를 2진수로 변환, String         을 숫자로 변환 등..

         byte  ->  Byte              double -> Double

         short -> Short             char -> Character

         int -> Integer               boolean -> Boolean

         long -> Long               float -> Float

- OOP (Object-Oriented Programming)

      - 객체지향 프로그래밍을 의미한다. 데이터를 객체로 취급하여 프로그램에 반영한 것. 순차적으로 프로그램이 동작하            는 절차지향적인 프로그래밍 / ex) C언어 / 과 다르게 객체와 객체의 상호작용을 통해 프로그램이 동작한다.

      - 코드의 재사용성이 높다.

      - 코드의 변경이 용이하다(유지보수가 쉬움)

      - 직관적인 코드분석이 가능하다

      - 개발속도 향상

      - 상속을 통한 장점 극대화

- Object( 객체 )

      - Object는 OOP에서 데이터(변수) 와 그 데이터에 관련되는 동작(함수). 즉 절차, 방법, 기능을 모두 포함한 개념이다.

         ex) 기차역에서 승차권을 발매하는 경우, 실체인 '손님'과 동작인 '승차권 주문' 은 하나의 객체이다. 또한 실체인 '역                   무 원' 과 '승차권 발매' 도 하나의 객체이다. 

- Overloading vs Overriding

      - Overloading(오버로딩) --> 상속과 관련 없다.

           - 한 클래스에서 같은 이름의 method를 여러개 정의하는것. (method 중복)

           - 매개변수의 타입이 다르거나 개수가 달라야 한다.

           - 매개변수 순서가 달라야 한다. 

                *return type과 접근제어자는 영향을 주지않는다.

                             /** 접근제어자  **/      

                      - public, protected, default, private

                          -public : 모든 위치에서 참조가능

                          -protected : 같은 패키지 또는 다른 패키지라도 상속관계가 있을 경우에 사용 가능

                          - default : 같은 패키지 내에서만 사용가능 ( 적용시 실제 default라 쓰면 안됨 접근제어자가 지정되지 않으                                            면 자동적으로 default 접근제어를 가지게 된다.)

                          - private : 해당 클래스 내에서만 사용 가능

 

      - Overriding( 오버라이딩 )

           - 상속에서 나온 개념.

           - 상위 클래스 (부모 클래스)의 method를 하위클래스(자식 클래스) 에서 상속받은 상태에서 본문 내용만 수정하는                  것(method 재정의).

 

- Interface, Abstract 

     - Interface

           -오직 추상 method와 상수만을 멤버로 갖는다. (JDK 1.8 이상은 static method와 default method도 가능.)

           - implements 키워드 사용  ex) public class Test implemets TestIm{}

           - 상속 관계가 없는 클래스간 서로 공통되는 로직을 구현하여 쓸 수 있도록 한다.

           - extends는 하나의 클래스만 상속 가능하나 interface는 다중 구현이 가능하다.

      - abstract 

           - 추상 method를 하나 이상 가진 클래스

           - 자신의 생성자로 객체 생성 불가능

           - 하위 클래스를 참조하여 상위 클래스의 객체를 생성

           - 상위 클래스의 자료형으로 하위 클래스를 제어하기 위해 사용

       - interface vs abstract

           - 공통점

              - new 연산자로 인스턴스 생성 불가

              - 프로토타입 (미완성 버전, 시스템의 초기 모델)만 있는 method를 갖는다.

              - 사용하기 위해서는 하위클래스에서 확장(extends)/ 구현 (implements)해야 한다.

           - 차이점

              - 사용하는 키워드가 다르다.

              - abstract는 완성된 method를 사용할수 있지만, interface는 추상 method와 jdk 1.8이후 부터는

                static, default method만 선언 가능하다.

-Static의 의미(정적메모리)

   - 클래스가 로딩될 때 메모리 공간을 할당하는데 처음 설정된 메모리 공간이 변하지 않음을 의미

   - 객체를 아무리 많이 만들어도 해당 변수는 하나만 존재(객체와 무관한 키워드)

 

 

 

 

'자바기초' 카테고리의 다른 글

JAVA 기초다지기 4  (0) 2023.07.08
JAVA 기초다지기 3  (0) 2023.07.08
JAVA 기초 다지기  (0) 2023.07.08