study/java
-
JAVA - 4 ( 객체지향 )study/java 2020. 7. 16. 19:48
절차지향 vs 객체지향 절차지향 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법 언어 C언어 장점 - 컴퓨터의 처리구조와 유사해 실행 속도가 빠름 단점 - 유지보수가 어려움 - 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어려움 - 디버깅이 어려움 객체지향 실제 세계를 모델링하여 소프트웨어를 개발하는 방법. 프로그래밍에서 필요한 데이터를 추상화시켜 상태(필드)와 행위(메소드)를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 언어 Java 장점 - 코드의 재활용성이 높음 남이 만든 클래스를 가져와 이용할 수 있고 상속을 통해 확장해서 사용할 수 있음 - 코딩..
-
JAVA - 3study/java 2020. 7. 16. 19:00
final keyword 1. final (1) 기본형 변수 : 값 변경 불가. 초기값을 지정해주어야 함 (2) 참조형 변수 : 한번 인스턴스를 생성하면 다른 인스턴스를 생성할 수 없음 (3) 메소드 : 해당 메소드를 포함한 클래스를 상속받아도 final keyword가 사용된 메소드는 오버라이딩 금지 (4) 클래스 : 해당 클래스를 누구도 상속 받을 수 없음 2. finally try, catch 문에서 항상 마지막에 수행되는 블록 3. finalize 객체의 메모리를 반환하는 메소드. 실행하면 GC가 메모리를 반환 Overriding vs Overloading Overriding 부모의 메서드를 재정의. 왜 사용 ? 자식 클래스에 맞게 메서드의 내용을 변경해야하는 경우에 사용한다. Overloadin..
-
JAVA - 2 (변수타입과 컬렉션)study/java 2020. 7. 15. 20:50
변수 - DataType에 따른 구분 1. 기본형 변수 : 자료의 실제 값을 저장 2. 참조형 변수 : 값이 저장되어 있는 주소 값을 저장 ( String 등 기본형 변수를 제외한 나머지 ) - 선언 위치에 따른 구분 1. 멤버 변수 : 클래스 영역에 선언된 변수 - 인스턴스 변수 : 인스턴스 생성 시에 만들어지는 변수. 인스턴스마다 값이 다름 - 클래스 변수 : 인스턴스 변수에 static을 붙인 변수. 모든 값이 같음 2. 지역 변수 : 메소드 내에서 선언되어 메소드 호출 시 생성되고 종료 시 소멸됨. 컬렉션 1. List : 순서가 있는 데이터의 집합으로 중복을 허용 - ArrayList : 비동기식. 여러 스레드가 ArrayList를 동시에 작업 가능. 인덱스를 가지고 있어 데이터를 조회할 때 효..
-
JAVA - 1 ( JAVA 기초 )study/java 2020. 7. 13. 17:25
C/C++ 과의 차이점 - 실행 환경 - JAVA는 링크 과정이 없이 컴파일러가 바이트 코드를 생성하고, C/C++은 컴파일을 하고 난 후 링크 과정이 필요 - C는 절차 지향 언어이고 JAVA는 객체 지향적인 언어 - C는 임베디드나 운영체제처럼 속도나 용량 등에서 최적화가 필요한 곳에서 주로 사용하고, JAVA는 웹 사이트나 운영체제와 상관없이 실행되어야 하는 응용 SW, 안드로이드 앱 등에서 주로 사용 장/단점 장점 - 운영체제에 독립적 ( JVM 에서 동작하기 때문 ) - 객체 지향적인 언어 ( 캡슐화, 상속, 추상화, 다형성 등) - 가비지 컬렉터(GC)가 자동으로 메모리 관리 - 오픈 소스 라이브러리가 풍부 - 객체가 필요한 시점에 클래스를 동적 로딩하여 생성 단점 - JVM에 의해 기계어로 ..