Math클래스는 기본적인 수학계산에 유용한 메서드로 구성되어 있습니다. 이번 포스팅을 통해 Math클래스의 자주 사용되는 메서드에 대해 다뤄볼 것이며 삼각함수 구하는 법도 다뤄보려 합니다. Math 클래스 Math.abs() 주어진 값의 절대값을 반환합니다. public class MathTest { public static void main(String[] args) { int i = Math.abs(-2); double d = Math.abs(-4); System.out.println(i); System.out.println(d); } } Math.sqrt() - ( double형으로 반환 ) 주어진 값의 제곱근 값을 반환합니다. public class MathTest { public static v..
인터페이스란 ? 인터페이스는 일종의 추상클래스로, 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없습니다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용되지 않습니다. 추상 클래스를 부분적으로만 완성된 "미완성 설계도"라고 한다면, 인터페이스는 구현된 것은 아무것도 없는 그냥 스케치만 되어 있는 "기본 설계도"라 할 수 있습니다. 인터페이스의 특징 다중 상속이 가능하다. 추상 메서드와 상수만을 가진다. 생성자 생성이 불가능하다. 메서드 오버라이딩이 필수적이다. 인터페이스의 장점 1. 개발시간을 단축시킬 수 있다. 인터페이스를 통해 메서드를 호출하는 쪽에서는 메서드의 내용과 관계없이..
String 클래스는 immutable(불변) 불변성을 가졌기 때문에 String 객체를 변경시 실제로 변경되는 것이 아닌 새로운 String 객체를 생성합니다. 즉, 지정된 문자열을 변경할 수 없습니다. 반면 StringBuffer/StringBuilder 클래스는 mutable(가변) 가변성을 가져, 동일한 객체내에서 문자열 변경이 가능합니다. StringBuffer/StringBuilder 클래스의 차이점 StringBuffer는 멀티쓰레드에 안전하도록 동기화되어 있습니다. 그래서 멀티쓰레드로 작성된 프로그램이 아닌 경우, StringBuffer의 동기화는 불필요하게 성능만 떨어트리게 됩니다. 그래서 StringBuffer에서 쓰레드의 동기화만 뺀 StringBuilder 가 추가되었습니다. Str..
아래의 표는 String클래스 내에 정의된 생성자의 메서드의 목록입니다. 자바의 정석3을 참고해 자주사용되는 것들만을 표로 적었습니다. 메서드/설명 예 제 결 과 String (String s) 주어진 문자열 (s)을 갖는 String 인스턴스를 생성 String s = new String("HI?"); s="HI?" String(char[] value) 주어진 문자열(value)을 갖는 String인스턴스를 생성 char[] c = {'H','e','l','l','o'} String str = new String(c) s= "Hello" String(StringBuffer buf) StringBuffer 인스턴스가 갖고 있는 문자열과 같은 내용의 String인스턴스를 생성 StringBuffer sb ..
객체지향프로그래밍 ( Object Oriented Programming ) 이란 ? 먼저 OOP를 이해하기 위해선 절차지향적 프로그래밍에 대해 알아야하는데요, 절차 지향 프로그래밍 ( PP : Procedural Programming )에 대해 설명하자면, 순차적인 처리를 중요시하며, 프로그램 전체가 유기적으로 연결되어 있습니다. 그렇기 때문에 프로그램을 이해하기 어렵고 유지보수가 어렵다는 등의 단점이 있지만 속도가 빠르다는 장점이 있습니다. OOP는 위와 같은 절차지향적 프로그래밍의 단점을 보완하기 위해서 만들어졌습니다. 객체란 "실제로 존재하는 것"으로 우리가 주변에서 볼 수 있는 책상, 의자, 컴퓨터와 같은 사물들을 곧 객체라고 할 수 있습니다. 이처럼, 객체지향프로그래밍 ( OOP )은 현실 세계..
다형성 다형성은 객체지향 언어인 자바의 아주 중요한 특징 중 하나입니다. 다형성은 상속과 깊은 관계를 가지고 있으므로 상속에 대해 알고 싶다면 아래 포스팅을 참고하시면 됩니다. [Java/자바] 클래스의 관계 - 상속(is-a)과 포함(has-a) 상속 상속이란, 기존의 클래스를 재사용해 새로운 클래스를 작성하는 것입니다. 상속을 통해서 클래스를 작성하면, 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리 hstory0208.tistory.com 다형성이란, "여러 가지 형태를 가질 수 있는 능력"을 의미하며 자바에서 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 구현합니다. 쉽게 말하면, "조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 ..