본문 바로가기

java study

(37)
#29 접근 제어자(access modifier) ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 접근 제어자 private 같은 클래스 내에서만 접근이 가능하다. (default) 같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. public 접근제한이 전혀 없다. 접근 범위 public > protected > (default) > private Ex) package pkg1; class MyParent{ private int prv;// 같은 클래스 int dft;// 같은 패키지 protected int prt;// 같은 패키지 + 자..
#28 제어자 (modifier) ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 제어자(modifier) 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 제어자의 종류 접근 제어자 public, protected, (default), private 그 외 static, final, absract, native, transient, synchronized, volatile, strictfp 하나의 대상에 여러 제어자를 같이 사용 가능(접근 제어자는 하나만) public class ModifierTest{ public static final int WIDTH = 200;//여러 제어자를 함께썼..
#27 import문 ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. import문 클래스를 사용할 때 패키지 이름을 생략할 수 있다. 컴파일러에게 클래스가 속한 패키지를 알려준다. java.lang패키지는 가장 기본 패키지로 java.lang패키지의 클래스는 import하지 않고도 사용할 수 있다. import문의 선언 방법 1. import 패키지명.클래스명; 2. import 패키 지명.*; import문은 패키지 문과 클래스 선언의 사이에 선언한다. package com.codechobo.book;// 패키지 선언 import java.text.SimpleDateFormat;// impor..
#26 패키지 (package) ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 패키지 서로 관련된 클래스의 묶음 클래스는 클래스 파일(*. class), 패키지는 폴더. 하위 패키지는 하위 폴더 클래스의 실제 이름(full name)은 패키지를 포함 (java.lang.String) rt.jar는 클래스들을 압축한 파일(JDK설치경로\jre\lib에 위치) , java9부터 rt.jar파일이 없어졌다 java9부터는 module개념 적용 rt.jar파일이 무거워서 module로 쪼개 놓은 거 패키지 선언 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언 같은 소스 파일의 클래스들은 모두 같은 패키지에 속..
#25 참조 변수 super ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 참조변수 super 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자)내에만 존재 조상의 멤버를 자신의 멤버와 구별할 때 class Ex7_2 { public static void main(String args[]) { Child c = new Child(); c.method(); } } class Parent {int x = 10;/* super.x */ } class Child extends Parent { int x=20;// this.x void method() { System.out.println("x=" + x)..
#24 메서드 오버 라이딩(overriding) ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 메서드 오버 라이딩 상속받은 조상의 메서드를 자신에 맞게 변경하는 것 오버 라이딩의 조건 1. 선언부가 조상 클래스의 메서드와 일치해야 한다. 선언부(반환 타입, 메서드 이름 , 매개 변수 목록) 2. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다. 3. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다. class Point { int x ; int y ; String getLocation() { return "x:" + x +",y :" + y; } } class Point3D extends Poin..
#23 단일 상속(Single Inheritance) ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 단일 상속 java는 단일 상속만을 허용한다.(C++은 다중 상속 허용) 다중 상속의 문제점 : 같은 이름의 문장이 있을 때 충돌이 일어난다. 그렇기에 java에선 인터페이스를 이용해서 다중상속과 같은 효과를 낸다. 인터페이스 없이 다중상속과 같은 효과를 내려면 비중이 높은 클래스 하나만 상속 관계로, 나머지는 포함 관계로 한다. Object클래스 - 모든 클래스의 조상 부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다. toString()..
#22 포함(composite) 관계 ※ 시작하기 앞서 java study 카테고리 자료는 YOUTUBE에 남궁성 강사님의 자바의 정석 영상을 가지고 공부한 내용을 정리한 것이며 상업적 목적은 전혀 없음을 알립니다. 포함(composite) 클래스의 멤버로 참조 변수를 선언하는 것 작은 단위의 클래스를 만들고, 이 들을 조합해서 새로운 클래스를 만든다. Circle이 Point 클래스를 포함하고 있다. 클래스 간의 관계 결정하기 상속관계 '~ 은 ~ 이다 . ( is- a) ' 포함관계 '~ 은 ~ 을 가지고 있다. (has - a)' 상속은 여러가지 제약이 많기 때문에 꼭 필요한 경우에만 쓴다. Ex) class MyPoint { int x; int y; } //class Circle extends MyPoint{ //int r ; //}..